В Git теги (tags) используются для пометки определенных точек в истории проекта как важных. Существует два основных типа тегов: легковесные (lightweight) и аннотированные (annotated). Легковесные теги - это просто указатели на определенный коммит (commit), в то время как аннотированные теги - это полноценные объекты Git, которые содержат метаданные, такие как имя тегера (tagger), электронная почта, дата и сообщение о тегировании. Аннотированные теги обычно рекомендуются для релизов, так как они предоставляют больше информации.
На этом этапе мы создадим аннотированный тег и проверим его.
Убедитесь, что вы находитесь в директории ~/project/my-time-machine
:
cd ~/project/my-time-machine
Теперь создадим аннотированный тег для нашего первого коммита. Назовем его v1.0
. Используйте флаг -a
для создания аннотированного тега и флаг -m
для предоставления сообщения:
git tag -a v1.0 -m "Initial version of the time machine message"
Если команда выполнена успешно, вы не должны увидеть никакого вывода.
Для просмотра тегов в вашем репозитории используйте команду git tag
:
git tag
Вы должны увидеть:
v1.0
Теперь используем git cat-file
для определения типа нашего нового тега:
git cat-file -t v1.0
Вы должны увидеть:
tag
Это подтверждает, что v1.0
- это объект "tag", то есть это аннотированный тег.
Наконец, используем git show
для просмотра деталей аннотированного тега:
git show v1.0
Вы должны увидеть вывод, похожий на следующий:
tag v1.0
Tagger: Jane Doe <[email protected]>
Date: Mon Aug 7 10:05:00 2023 +0000
Initial version of the time machine message
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
diff --git a/message.txt b/message.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/message.txt
@@ -0,0 +1 @@
+Hello, Future Me
Обратите внимание, что вывод для аннотированного тега включает информацию о самом теге (тегер, дата, сообщение), а также детали коммита, на который он указывает. Эта дополнительная информация является причиной, по которой аннотированные теги предпочтительны для пометки важных релизов.
Теперь вы успешно создали и проверили аннотированный тег! Это ценный навык для пометки важных этапов в ваших проектах.