Uwaga moderatora: Biorąc pod uwagę, że na to pytanie zostało już wysłanych sześćdziesiąt siedem odpowiedzi (niektóre z nich zostały usunięte), zastanów się, czy nie wnosisz nic nowego***, zanim napiszesz kolejne.
Jakie są różnice między git pull
a git fetch
?
W najprostszych słowach, git pull
wykonuje git fetch
, po którym następuje git merge
.
Możesz wykonać git fetch
w dowolnym momencie, aby zaktualizować swoje zdalnie śledzone gałęzie pod refs/remotes/<remote>/
.
Ta operacja nigdy nie zmieni żadnej z twoich lokalnych gałęzi pod refs/heads
, i jest bezpieczna bez zmiany twojej kopii roboczej. Słyszałem nawet o ludziach wykonujących git fetch
okresowo w cron job w tle (chociaż nie polecam tego robić).
Polecenie git pull
jest tym, co można zrobić, aby uaktualnić lokalną gałąź do jej zdalnej wersji, jednocześnie uaktualniając inne zdalnie śledzące gałęzie.
Dokumentacja Git - git pull:
W swoim domyślnym trybie,
git pull
jest skrótem odgit fetch
, po którym następujegit merge FETCH_HEAD
.
Jednym z przypadków użycia git fetch
jest to, że następujące po nim polecenie powie ci o wszelkich zmianach w zdalnej gałęzi od twojego ostatniego pociągnięcia... więc możesz sprawdzić przed wykonaniem faktycznego pociągnięcia, które może zmienić pliki w twojej aktualnej gałęzi i kopii roboczej.
git fetch
git diff ...origin
Zobacz: https://git-scm.com/docs/git-diff odnośnie składni podwójnych i potrójnych kropek w poleceniu diff
git-pull - Pobieranie z i łączenie z innym repozytorium lub z lokalną gałęzią SYNOPSISgit pull
... OPIS Uruchamia git-fetch z podanymi parametrami i wywołuje git-merge, aby scalić do bieżącej gałęzi. Z --rebase, wywołuje git-rebase zamiast git-merge.
Zauważ, że możesz użyć . (bieżący katalog) jako
, aby wyciągnąć z lokalnego repozytorium - jest to przydatne przy łączeniu lokalnych gałęzi do bieżącej gałęzi. Zauważ również, że opcje przeznaczone dla git-pull i bazujące na git-merge muszą być podane przed opcjami przeznaczonymi dla git-fetch.
Pociągnąłbyś, gdybyś chciał, aby historie zostały połączone, pobierałbyś, gdybyś tylko 'chciał kodez', jak pewna osoba oznaczyła niektóre artykuły tutaj.