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?
Pobiera najnowsze commity bieżącej gałęzi z repozytorium zdalnego i integruje je z twoją lokalną gałęzią. To skrót od dwóch poleceń:
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?
Pull może wywołać konflikty scalania, gdy zmiany lokalne i zdalne się nakładają. Otwórz pliki z konfliktami, rozwiąż oznaczone fragmenty, a potem dodaj je przez
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?
Tak. Otwórz terminal online i uruchom
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.