Wiem, pochodzenie jest terminem określającym zdalne repozytorium, a master jest tam gałęzią.
Celowo pomijam tutaj „kontekst” i mam nadzieję, że odpowiedź nie powinna zależeć od kontekstu. Więc w wierszach poleceń git jaka jest różnica między origin / master a origin master . Czy istnieje niejednoznaczny sposób na zrozumienie, kiedy używać źródła / wzorca, a kiedy powinienem używać źródła wzorca ?
Odpowiedzi:
Są tu właściwie trzy rzeczy:
origin master
dwie oddzielne rzeczy iorigin/master
jedna rzecz. Łącznie trzy rzeczy.Dwie gałęzie:
master
jest oddziałem lokalnymorigin/master
to gałąź zdalna (która jest lokalną kopią gałęzi o nazwie „master” na pilocie o nazwie „origin”)Jeden pilot:
origin
jest pilotemPrzykład: pociągnij dwa kroki
Ponieważ
origin/master
jest to gałąź, możesz ją połączyć. Oto dwa kroki:Krok pierwszy, pobierz
master
z pilotaorigin
.master
Oddział naorigin
zostanie pobrana i lokalna kopia będzie się nazywaćorigin/master
.Następnie łączysz się
origin/master
zmaster
.Następnie możesz przesunąć swoje nowe zmiany z
master
powrotem doorigin
:Więcej przykładów
Możesz pobrać wiele oddziałów według nazwy ...
Możesz scalić wiele oddziałów ...
źródło
git remote add home my-server:projects/my-project
dodaje pilota o nazwie „home”. Możesz zapoznać się z dokumentacją: git-scm.com/docs/git-remoteorigin/master
to byt (ponieważ nie jest to gałąź fizyczna) reprezentujący stanmaster
gałęzi na pilocieorigin
.origin master
to gałąźmaster
na pilocieorigin
.Mamy więc te:
Przykład (w oddziale lokalnym
master
):źródło
origin master
to nie gałąź ... to w rzeczywistości dwie osobne rzeczy: „origin” (zdalny) i „master” (lokalny oddział).origin/master
zdalna gałąź główna Lokalny oddział jest tylko mistrzem.origin/master
jest zdalnąmaster
gałęziąZwykle po zrobieniu a,
git fetch origin
aby przynieść wszystkie zmiany z serwera, zrobiłbyś agit rebase origin/master
, aby wprowadzić zmiany w bazie i przenieść gałąź do najnowszego indeksu. Odnosi się tutajorigin/master
do gałęzi zdalnej, ponieważ w zasadzie mówisz GIT, aby opierałaorigin/master
gałąź na bieżącej gałęzi.Należałoby użyć
origin master
podczas pchania, na przykład.git push origin master
po prostu mówi GIT, aby wypchnął do zdalnego repozytoriummaster
oddział lokalny .źródło
origin master
mówi oprogramowaniu, aby zrobiło coś z tym, co znajduje się na „master” w repozytorium „origin”.origin/master
jest referencją w ten sam sposóbf3a4d5
lubHEAD
jest.origin to nazwa zdalnego adresu git. Poniżej może znajdować się wiele innych pilotów.
jeśli chodzi o origin / master (przykład bangalore / master), to wskaźnik do „master” zatwierdzenia na stronie bangalore . Widzisz to w swoim klonie.
Możliwe, że zdalny bangalore posunął się naprzód, ponieważ wykonałeś „pobieranie” lub „ściąganie”
źródło
Biorąc pod uwagę fakt, że możesz przełączyć się na
origin/master
(chociaż w stanie odłączonym), gdy kabel sieciowy jest odłączony, musi to być lokalna reprezentacjamaster
oddziału worigin
.źródło