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.
Składnia
| Polecenie | Co robi |
|---|---|
git push | Wypycha bieżącą gałąź do jej upstreamu |
git push -u origin feature | Wypycha nową gałąź i ustawia upstream |
git push origin main | Wypycha do konkretnego repozytorium zdalnego i gałęzi |
git push --tags | Wypycha wszystkie lokalne tagi |
git push --force-with-lease | Bezpieczny force push po rebase |
Typowe przypadki
| Cel | Polecenie |
|---|---|
| Wypchnąć zupełnie nową gałąź | git push -u origin feature |
| Wypchnąć po ustawieniu upstreamu | git push |
| Wypchnąć jeden tag | git push origin v1.0.0 |
| Usunąć zdalną gałąź | git push origin --delete feature |
Przykład krok po kroku
| Krok | Polecenie | Wynik |
|---|---|---|
| 1 | git remote add origin <url> | Łączy lokalne repozytorium z repozytorium zdalnym pod nazwą origin |
| 2 | git push -u origin main | Tworzy main w repozytorium zdalnym i ustawia ją jako upstream twojej lokalnej main |
| 3 | git push | Każdy kolejny push na main nie wymaga argumentów |
Najczęstsze pytania o git push
Co robi git push?
Jak wypchnąć nową gałąź do repozytorium zdalnego?
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'?
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?
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?
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?
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?
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.