Я использовал fetch
, за которым следует _ 2_ ...
git fetch <remote> <rbranch>:<lbranch>
git checkout <lbranch>
... где <rbranch>
- это удаленная ветка или исходная ссылка, а <lbranch>
- это пока несуществующая локальная ветвь или конечная ссылка, которую вы хотите track и который вы, вероятно, захотите назвать так же, как удаленная ветка или исходный код. Это объясняется в параметрах в объяснение <refspec>
.
Git настолько умен, что автоматически завершает первую команду, если я табуляция после первых нескольких букв удаленной ветви. То есть мне даже не нужно называть локальную ветку, Git автоматически копирует для меня имя удаленной ветки. Спасибо, Git!
Также, как показывает ответ в этом аналогичном сообщении о переполнении стека, если вы не укажете локальную ветвь в fetch
, вы можете по-прежнему создавать его, когда вы проверяете его, используя флаг -b
. То есть git fetch <remote> <branch>
, за которым следует git checkout -b <branch> <remote>/<branch>
, делает то же самое, что и мой первоначальный ответ. И, очевидно, если в вашем репозитории только один пульт, вы можете просто сделать git checkout <branch>
после fetch
, и он создаст для вас локальную ветку. Например, вы только что клонировали репозиторий и хотите получить дополнительные ветки с пульта дистанционного управления.
Я считаю, что часть документации для fetch
могла быть дословно скопирована с pull
. В частности, раздел <refspec>
в параметрах то же самое. Однако я не верю, что fetch
когда-либо будет _17 _, поэтому, если вы оставите сторону назначения двоеточия пустой, fetch
ничего не должно делать.
ПРИМЕЧАНИЕ. git fetch <remote> <refspec>
- это сокращение от git fetch <remote> <refspec>:
, которое поэтому ничего не делает, но git fetch <remote> <tag>
то же самое, что git fetch <remote> <tag>:<tag>
, который должен копировать удаленный <tag>
локально.
Я думаю, это полезно только в том случае, если вы хотите скопировать удаленную ветку локально, но не обязательно сразу проверять это. В противном случае я бы сейчас использовал принятый ответ, который подробно объясняется в первом разделе описание оформления заказа и позже в параметры под объяснением --track
, поскольку это однозначный лайнер. Ну ... вроде однострочного, потому что вам все равно придется сначала запустить git fetch <remote>
.
К вашему сведению: порядок <refspecs>
(источник: место назначения) объясняет причудливый метод до Git 1.7 для удаление удаленных веток. То есть ничего не вставлять в refspec назначения.
person
Mark Mikofski
schedule
19.04.2013
git fetch --all
, Затем для просмотра всех веток:git branch
, Затем проверяю ветку:git checkout nameofnewbranch
- person Jeff Mattson   schedule 20.09.2017git fetch <remote> <branch>
- правильный синтаксис. - person flow2k   schedule 25.04.2021