Ответы:
Клонируйте репозиторий как обычно:
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
Затем отметьте нужный тег так:
git checkout tags/1.1.4
Это извлечет тэг в состоянии «отделен от головы». В этом состоянии «вы можете осмотреться, внести экспериментальные изменения и зафиксировать их, а также [отменить эти фиксации], не влияя на какие-либо ветви, выполнив другую проверку».
Чтобы сохранить сделанные изменения, переместите их в новую ветку:
git checkout -b 1.1.4-jspooner
Вы можете вернуться к основной ветке, используя:
git checkout master
Обратите внимание, как было упомянуто в первой редакции этого ответа, есть еще один способ извлечения тега:
git checkout 1.1.4
Но, как упоминалось в комментарии, если у вас есть ветвь с тем же именем, это приведет к тому, что git предупредит вас, что refname неоднозначно, и проверит ветку по умолчанию:
warning: refname 'test' is ambiguous.
Switched to branch '1.1.4'
Сокращение можно безопасно использовать, если хранилище не разделяет имена между ветками и тегами.
git tag
.
Начиная с Git v2.23.0 (август 2019 г.), git switch
предпочтительнее, git checkout
когда вы просто переключаете ветки / теги. Я предполагаю, что они сделали это, поскольку git checkout
имели две функции: для переключения веток и для восстановления файлов. Таким образом, в v2.23.0 они добавили две новые команды git switch
, и git restore
, чтобы разделить эти проблемы. Я бы предсказал, что в какой-то момент в будущем git checkout
это будет осуждается.
Чтобы переключиться на обычную ветку, используйте git switch <branch-name>
. Чтобы переключиться на объект, похожий на коммит, включая отдельные коммиты и теги, используйте git switch --detach <commitish>
, где <commitish>
находится имя тега или номер коммита.
В --detach
опции заставляет вас признать , что вы находитесь в режиме «проверки и DISCARDABLE экспериментов» . Чтобы создать новую ветку из коммита, на который вы переключаетесь, используйте git switch -c <new-branch> <start-point>
.
1.1.4
. Git будет проверять ветку, а не тег. Чтобы явноgit checkout tags/1.1.4