Как проверить версию / тег версии 1.1.4 пакета rspec ?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Клонируйте репозиторий как обычно:
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'
Сокращение можно безопасно использовать, если хранилище не разделяет имена между ветками и тегами.
1.1.4
. Git будет проверять ветку, а не тег. Чтобы явноgit checkout tags/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>
.источник