Git Pull
Ostatnia aktualizacja
git pull aktualizuje bieżącą gałąź najnowszymi commitami z jej zdalnego odpowiednika. Pod spodem uruchamia git fetch, żeby pobrać zmiany, a potem git merge, żeby je zintegrować, więc git pull = git fetch + git merge. Dodaj --rebase, żeby zamiast tworzyć commit scalający, przenieść swoje lokalne commity na wierzch.
Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.
Składnia
| Polecenie | Co robi |
|---|---|
git pull | Pobiera i scala zdalny odpowiednik bieżącej gałęzi |
git pull origin main | Pobiera konkretną gałąź z repozytorium zdalnego |
git pull --rebase | Pobiera, potem przenosi twoje commity na wierzch przez rebase |
git pull --ff-only | Pull tylko przy możliwym fast-forward (bez merge) |
git pull --no-rebase | Wymusza merge, nawet jeśli domyślny jest rebase |
Typowe przypadki
| Cel | Polecenie |
|---|---|
| Pobrać najnowsze zmiany na swoją gałąź | git pull |
| Zachować liniową historię | git pull --rebase |
| Przerwać pull, który trafił na konflikty | git merge --abort |
| Odrzucić lokalne commity i dopasować się do zdalnej gałęzi | git fetch, potem git reset --hard origin/main |
Najczęstsze pytania o git pull
Co właściwie robi git pull?
git fetch (pobranie), po którym następuje git merge (integracja). Po odpowiedniej konfiguracji krok scalania staje się rebase.Czym różni się git pull od git fetch?
git fetch tylko pobiera zdalne zmiany i aktualizuje gałęzie śledzące; nie rusza twojej gałęzi roboczej. git pull robi ten fetch, a potem scala zmiany z bieżącą gałęzią. Używaj fetch, żeby najpierw przejrzeć przychodzące zmiany, a pull, żeby pobrać i zintegrować je w jednym kroku. Pełne omówienie, kiedy sięgać po które, znajdziesz w git fetch vs pull.Co to jest git pull --rebase i kiedy go używać?
git pull --rebase pobiera zdalne commity, a potem przenosi twoje lokalne commity na ich wierzch, zamiast tworzyć commit scalający. Utrzymuje to liniową historię, którą woli wiele zespołów. Używaj go, gdy masz lokalne, niewypchnięte commity i nie chcesz commita scalającego przy każdym pull.Jak naprawić konflikty po git pull?
git add i uruchom git commit (przy merge) albo git rebase --continue (przy pull z rebase). Jeśli wolisz się wycofać, uruchom git merge --abort albo git rebase --abort.Czy mogę to przećwiczyć online?
git pull 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.