Я использовал с 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.