Я использовал с fetch
последующим checkout
...
git fetch <remote> <rbranch>:<lbranch>
git checkout <lbranch>
... где <rbranch>
- ссылка на удаленную ветку или источник, и <lbranch>
это пока еще не существующая ссылка на локальную ветку или назначение, которую вы хотите отслеживать и которую вы, вероятно, хотите назвать такой же, как и ссылка на удаленную ветку или источник. Это объясняется в опциях в объяснении <refspec>
.
Git настолько умен, что автоматически завершает первую команду, если я вкладываю после первых нескольких букв удаленной ветви. То есть мне даже не нужно называть локальную ветку, Git автоматически копирует для меня имя удаленной ветви. Спасибо Git!
Кроме того, как показано в ответе в этом аналогичном сообщении о переполнении стека , если вы не называете локальную ветвь fetch
, вы все равно можете создать ее, извлекая ее с помощью -b
флага. То есть git fetch <remote> <branch>
следует git checkout -b <branch> <remote>/<branch>
точно так же, как и мой первоначальный ответ. И, очевидно, если в вашем репозитории есть только один пульт, вы можете просто сделать это git checkout <branch>
после, fetch
и он создаст для вас локальную ветку. Например, вы просто клонировали репозиторий и хотите проверить дополнительные ветви с удаленного компьютера.
Я считаю, что некоторые документы для, fetch
возможно, были скопированы дословно pull
. В частности, раздел <refspec>
в опциях тот же. Тем не менее, я не верю, что fetch
это когда-либо произойдет merge
, поэтому, если вы оставите место назначения толстой кишки пустым, fetch
ничего не следует делать .
ПРИМЕЧАНИЕ: git fetch <remote> <refspec>
это сокращение, git fetch <remote> <refspec>:
которое, следовательно, ничего не делает, но git fetch <remote> <tag>
то же самое, git fetch <remote> <tag>:<tag>
что и <tag>
локальное копирование пульта .
Я думаю, это полезно, только если вы хотите скопировать удаленную ветку локально, но не обязательно сразу проверить это. В противном случае я бы сейчас использовал принятый ответ , который подробно объясняется в первом разделе описания оформления заказа, а затем в разделе опций под объяснением --track
, поскольку это однострочник. Ну ... вроде одной строки, потому что вам все равно придется бежать git fetch <remote>
первым.
К сведению: порядок <refspecs>
(источник: место назначения) объясняет причудливый метод pre Git 1.7 для удаления удаленных веток . То есть ничего не вставляйте в пункт назначения refspec.