Jaka jest różnica między git pull origin master
i git pull origin/master
?
git
version-control
Rachel
źródło
źródło
git pull origin/master
. Jeśli chcesz scalić zdalną gałąź [lokalnie przechowywaną]origin/master
, po prostu użyjgit merge origin/master
.git pull
oznacza,git fetch
po którym następujegit merge
. Pobiera zawartość z pilota, a następnie łączy ją z bieżącym oddziałem. Aleorigin/master
jest oddziałem lokalnym (śledzącym oddział zdalny). Jeśli chcesz je scalić, nie musisz niczego pobierać. Mylące jest mówienie,git pull origin/master
gdy tak naprawdę nie pobierasz danych ze zdalnego.origin/master
jest lokalnie przechowywana gałąź, która buforuje gałąź master na zdalnym źródle.Odpowiedzi:
git pull origin master
pobierze zmiany zeorigin
zdalnego,master
rozgałęzienia i scali je z lokalnym oddziałem wyewidencjonowanym.git pull origin/master
pobierze zmiany z lokalnie przechowywanej gałęziorigin/master
i scali ją z lokalną gałęzią wyrejestrowaną.origin/master
Oddział jest w istocie „buforowane kopia”, co ostatnio wyciągnął zorigin
, dlatego to się nazywa zdalnego git oddział w żargonie. To może być nieco mylące.Możesz zobaczyć, jakie gałęzie są dostępne
git branch
igit branch -r
„zdalne gałęzie”.źródło
git pull origin master
, gdy zawsze będzie się łączyć z gałęzią główną, powiedzmy, że jestem w innej gałęzi w moim repozytorium, a następnie wykonuję powyższe polecenie, czy zaktualizuje ona moją bieżącą gałąź o zmiany zdalne pochodzenia lub moją gałąź główną o zmiany?git merge
(i dlategogit pull
) zawsze łączy się z bieżącym oddziałem. Aby połączyć się z czymś innym niż obecny oddział, po prostu sprawdź to.git pull origin/master
być może było prawidłowym poleceniem, kiedy zostało napisane, ale obecnie (git 1.7.10.3) zawodzifatal: 'origin/master' does not appear to be a git repository
(tak jak powinno - pull jest zawsze do ściągania z pilotów).git pull origin master
pobierze wszystkie zmiany z gałęzi głównej pilota i połączy je z lokalną. Na ogół nie używamy git pull origin / master. Możemy zrobić to samo przezgit merge origin/master
. Scali wszystkie zmiany z „buforowanej kopii” gałąź główna origin do gałęzi lokalnej. W moim przypadkugit pull origin/master
błąd jest zgłaszany .źródło
git pull
=git fetch
+git merge origin/branch
git pull
igit pull origin branch
różnią się tylko tym, że ta ostatnia będzie tylko „aktualizować” pochodzenie / gałąź, a nie wszystkie pochodzenie / *, jak togit pull
robi.git pull origin/branch
po prostu nie zadziała, ponieważ próbuje zrobić coś,git fetch origin/branch
co jest nieprawidłowe.Powiązane pytanie: git fetch + git merge origin / master vs git pull origin / master
źródło