Użyłem, fetch
a następnie checkout
...
git fetch <remote> <rbranch>:<lbranch>
git checkout <lbranch>
... gdzie <rbranch>
jest zdalna gałąź lub referencja źródłowa i <lbranch>
jest jeszcze nieistniejącą referencją lokalną lub docelową, którą chcesz śledzić i którą prawdopodobnie chcesz nazwać tak samo jak zdalna gałąź lub referencja źródłowa. Wyjaśniono to w opcjach w objaśnieniu <refspec>
.
Git jest tak inteligentny, że automatycznie wykonuje pierwsze polecenie, jeśli kliknę tabulatorem po pierwszych kilku literach zdalnej gałęzi. Oznacza to, że nie muszę nawet nazywać gałęzi lokalnej, Git automatycznie kopiuje dla mnie nazwę gałęzi zdalnej. Dzięki Git!
Również, jak pokazuje odpowiedź w tym podobnym wpisie Przepełnienie stosu , jeśli nie podasz nazwy lokalnego oddziału fetch
, możesz go nadal utworzyć, gdy go wyewidencjonujesz, używając -b
flagi. Oznacza to, że git fetch <remote> <branch>
następuje git checkout -b <branch> <remote>/<branch>
dokładnie to samo, co moja pierwotna odpowiedź. I oczywiście, jeśli twoje repozytorium ma tylko jeden pilot, możesz to zrobić git checkout <branch>
po tym, fetch
a on utworzy dla ciebie lokalny oddział. Na przykład właśnie sklonowałeś repozytorium i chcesz sprawdzić dodatkowe gałęzie ze zdalnego.
Uważam, że część dokumentacji fetch
mogła zostać skopiowana dosłownie z pull
. W szczególności sekcja <refspec>
w opcjach jest taka sama. Jednak nie wierzę, że tak się fetch
stanie merge
, więc jeśli pozostawisz pustą stronę docelową jelita grubego, fetch
nie powinieneś nic robić .
UWAGA: git fetch <remote> <refspec>
jest skrótem, w git fetch <remote> <refspec>:
związku z czym nic nie zrobiłby, ale git fetch <remote> <tag>
jest tym samym, git fetch <remote> <tag>:<tag>
co powinno skopiować pilota <tag>
lokalnie.
Sądzę, że jest to pomocne tylko wtedy, gdy chcesz skopiować zdalny oddział lokalnie, ale niekoniecznie sprawdź go od razu. W przeciwnym razie użyłbym teraz zaakceptowanej odpowiedzi , która jest szczegółowo wyjaśniona w pierwszej części opisu kasy, a następnie w sekcji opcji pod wyjaśnieniem --track
, ponieważ jest to jedna linijka. Cóż ... coś w stylu jednej linijki, ponieważ nadal będziesz musiał biegać git fetch <remote>
pierwszy.
FYI: Kolejność <refspecs>
(source: destination) wyjaśnia dziwną metodę pre Git 1.7 do usuwania zdalnych gałęzi . Oznacza to, że nie wrzucaj nic do refspec przeznaczenia.