Как сделать «git checkout -b <branchname>» из удаленного тега - PullRequest
31 голосов
/ 27 сентября 2011

Я пытаюсь создать ветку из удаленного тега, но, похоже, нет способа сделать это.Когда я пытаюсь

git checkout -b test origin/deploy

, где origin - это удаленный, а deploy - это тег, который я хочу проверить, но я получаю

fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'origin/deploy' which can not be resolved as commit?

UPDATE: I 'Мы только что обнаружили, что

git fetch --all -t

не работает для меня должным образом.Хотя он загружает все ветви, он не загружает все теги, поэтому, когда я проверил развертывание, это был старый тег.Теперь я выполняю

git fetch --all && git fetch -t

Таким образом, когда я создаю новую ветвь на основе тега

git checkout -b test deploy

, новая ветвь обновлена ​​до последнего развертывания.

Ответы [ 4 ]

29 голосов
/ 27 сентября 2011

Я не уверен, что вы можете сделать это напрямую. Вы, вероятно, застряли с выполнением выборки, а затем проверки:

git fetch origin
git checkout -b test tag-name

Кстати, я бы не рекомендовал использовать имя тега типа "deploy".

23 голосов
/ 26 июня 2012

Я не гитарный гуру, но раньше я использовал что-то подобное, и, похоже, оно работало нормально:

git pull (or fetch, just need to make sure you are updated)
git checkout -b test remotes/origin/deploy
4 голосов
/ 22 февраля 2014

Вам нужно запустить

git pull
git checkout -b <new-branch-name> remotes/origin/<source-branch-name>
0 голосов
/ 15 ноября 2018

для просмотра всех тегов

git fetch
git tags -l 

для создания локальной ветки, которая указывает на тег

git checkout tags/<tag_name> -b <branch_name>
git checkout -b <branch_name> tags/<tag_name>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...