Тестирование легковесных тегов
На предыдущих этапах мы работали с аннотированным тегом. Теперь давайте рассмотрим легковесные теги (lightweight tags). Легковесный тег по сути представляет собой просто указатель на определенный коммит. Он похож на ветку (branch), которая не перемещается. Они обычно используются для временных или частных тегов.
Убедитесь, что вы по-прежнему находитесь в директории ~/project/my-time-machine
.
Для создания легковесного тега вы просто используете команду git tag
без параметров -a
или -m
:
git tag experimental
Эта команда создает легковесный тег с именем experimental
, который указывает на текущий коммит (тот же коммит, на который указывает v1.0
).
Теперь давайте используем команду git show
для просмотра деталей этого легковесного тега:
git show experimental
Вы должны увидеть вывод, похожий на следующий:
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
Обратите внимание, что вывод команды git show experimental
отличается от вывода команды git show v1.0
. Здесь нет строки "tag experimental", нет информации об авторе тега и нет сообщения тега. Команда git show
напрямую отображает коммит, на который указывает легковесный тег.
Для дальнейшего подтверждения того, что experimental
является легковесным тегом, давайте используем команду git cat-file -t
:
git cat-file -t experimental
На этот раз вывод должен быть следующим:
commit
Это подтверждает, что тег experimental
напрямую ссылается на объект "commit", в отличие от аннотированного тега v1.0
, который ссылался на объект "tag".
Легковесные теги полезны для быстрых временных меток в вашем репозитории. Например, вы можете использовать их для пометки определенного коммита, на который вы хотите легко ссылаться позже, не создавая при этом полноценный аннотированный тег с сообщением.
Теперь вы понимаете разницу между аннотированными и легковесными тегами и знаете, как использовать команды git show
и git cat-file
для их проверки.