Menu
Coddy logo textTech

Git Push

Ostatnia aktualizacja

git push wysyła commity z lokalnej gałęzi do jej zdalnego odpowiednika (np. na GitHubie). Gdy gałąź ma ustawiony upstream, wystarczy zwykłe git push; pierwszy push nowej gałęzi używa -u, żeby utworzyć zdalną gałąź i ustawić śledzenie, dzięki czemu kolejne push i pull nie wymagają argumentów.

Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.

git push wysyła twoje nowe lokalne commity do zdalnej gałęzi.

Składnia

PolecenieCo robi
git pushWypycha bieżącą gałąź do jej upstreamu
git push -u origin featureWypycha nową gałąź i ustawia upstream
git push origin mainWypycha do konkretnego repozytorium zdalnego i gałęzi
git push --tagsWypycha wszystkie lokalne tagi
git push --force-with-leaseBezpieczny force push po rebase

Typowe przypadki

CelPolecenie
Wypchnąć zupełnie nową gałąźgit push -u origin feature
Wypchnąć po ustawieniu upstreamugit push
Wypchnąć jeden taggit push origin v1.0.0
Usunąć zdalną gałąźgit push origin --delete feature

Przykład krok po kroku

KrokPolecenieWynik
1git remote add origin <url>Łączy lokalne repozytorium z repozytorium zdalnym pod nazwą origin
2git push -u origin mainTworzy main w repozytorium zdalnym i ustawia ją jako upstream twojej lokalnej main
3git pushKażdy kolejny push na main nie wymaga argumentów

Najczęstsze pytania o git push

Co robi git push?
Wysyła commity, które ma twoja lokalna gałąź, a których brakuje zdalnej, i przesuwa zdalną gałąź tak, żeby się zgadzała. Wysyła tylko commity: niezatwierdzone zmiany zostają na twoim komputerze, więc najpierw zrób commit. Jeśli repozytorium zdalne ma commity, których nie masz, push zostaje odrzucony, dopóki nie zrobisz pull albo rebase.
Jak wypchnąć nową gałąź do repozytorium zdalnego?
Uruchom git push -u origin <branch>. -u (skrót od --set-upstream) tworzy gałąź w repozytorium zdalnym i łączy z nią twoją lokalną gałąź, więc później zwykłe git push i git pull działają bez argumentów. Zdalna gałąź nie istnieje aż do tego pierwszego push.
Dlaczego git push zgłasza 'no upstream branch'?
Twoja lokalna gałąź nie jest jeszcze połączona ze zdalną gałęzią. Wypchnij ją przez git push -u origin <branch>, żeby utworzyć zdalną gałąź i ustawić upstream. Potem samo git push wie, dokąd wysyłać commity.
Jak wypchnąć tagi?
Tagi nie są domyślnie wypychane. Wypchnij pojedynczy tag przez git push origin <tagname> albo wszystkie naraz przez git push --tags. To częsta pułapka: tag utworzony lokalnie nie pojawi się w repozytorium zdalnym, dopóki go jawnie nie wypchniesz.
Jak bezpiecznie zrobić force push?
Po przepisaniu historii (rebase albo amend) używaj git push --force-with-lease zamiast --force. Nadpisuje ono zdalną gałąź tylko wtedy, gdy nikt inny nic nie wypchnął od twojego ostatniego fetch, co chroni pracę zespołu. Pełne wyjaśnienie znajdziesz na stronie git force push.
Co oznacza git push -u origin main?
origin to repozytorium zdalne (zobacz git remote), main to gałąź, a -u ustawia tę zdalną gałąź jako upstream twojej lokalnej main. To polecenie, które GitHub pokazuje przy nowym repozytorium: po jednorazowym uruchomieniu git push i git pull na main nie wymagają argumentów.
Jaka jest różnica między git push a git pull?
Przenoszą commity w przeciwnych kierunkach. git push wysyła twoje lokalne commity do repozytorium zdalnego; git pull pobiera nowe commity z repozytorium zdalnego i scala je z twoją gałęzią. Push odrzucony jako non-fast-forward zwykle oznacza, że najpierw trzeba zrobić pull. Co pull robi pod spodem, wyjaśnia git fetch vs pull.
Czy mogę to przećwiczyć online?
Tak. Otwórz terminal online i uruchom git push w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia pracę z repozytoriami zdalnymi.
Ilustracja języków programowania w Coddy

Ucz się Gita z Coddy

ZACZNIJ