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