Тестирование более старых тегов
На этом этапе мы узнаем, как работает команда git describe --tags
, когда мы не находимся на самом новом коммите (commit). Это продемонстрирует, как эта команда помогает понять вашу позицию в истории проекта относительно тегов (tags).
Сначала убедитесь, что вы находитесь в директории проекта:
cd ~/project/my-time-machine
В данный момент мы находимся на самом новом коммите, который помечен тегом v1.1
. Давайте снова используем команду git describe --tags
, чтобы убедиться:
git describe --tags
Вывод должен быть v1.1
, так как текущий коммит совпадает с тем, на который указывает тег v1.1
.
Теперь перейдем к коммиту, где мы создали тег v1.0
. Для этого можно использовать команду git checkout
с именем тега.
git checkout v1.0
Вы увидите вывод, указывающий, что вы находитесь в состоянии 'detached HEAD' (отсоединенный HEAD). Не беспокойтесь об этом сейчас; это просто означает, что вы смотрите на определенный коммит, а не на конец ветки (branch).
Note: switching to 'v1.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command (for example,
'git switch -c <new-branch-name>'). Or, if you meant to switch to a number
of commits past an existing branch, what you probably want is to use
'git switch <branch-name>~<number>'.
Switched to a new branch 'v1.0'
Теперь, когда мы находимся на коммите с тегом v1.0
, снова запустим команду git describe --tags
:
git describe --tags
Вывод должен быть простым:
v1.0
Это потому, что текущий коммит совпадает с местом, где расположен тег v1.0
. Между текущим положением и тегом v1.0
нет коммитов.
Давайте попробуем перейти к коммиту, где мы создали тег v0.9
:
git checkout v0.9
Снова вы увидите сообщение о detached HEAD.
Теперь запустите команду git describe --tags
:
git describe --tags
Вывод должен быть похожим на:
v0.9
Это подтверждает, что команда git describe --tags
правильно определяет ближайший тег от текущего положения в истории коммитов. Эта возможность описывать коммиты относительно тегов очень полезна для понимания состояния проекта в разных точках времени.
Для возврата к самому новому коммиту на ветке master
можно использовать:
git checkout master
Вы должны увидеть вывод, указывающий, что вы вернулись на ветку master:
Switched to branch 'master'
Your branch is up to date with 'origin/master'.