Ключевые концепции

Тег

В Git тег (англ. tagбирка или ярлык) — это ссылка на определённую точку в истории репозитория. Теги используются для отметки важных этапов или релизов в жизни проекта. В отличие от веток, теги статичны и не меняются после создания.

Теги обычно применяются для:

  1. Версионирования релизов: когда новая версия программы готова к выходу, создаётся тег, чтобы отметить конкретную точку в истории коммитов. Например, при выпуске версии 2.3.1 можно создать тег с именем v2.3.1, который будет указывать на коммит этого релиза. Такие номера версий часто подчиняются правилам семантического версионирования.

    Префикс v не обязателен, но часто используется, чтобы показать, что тег представляет номер версии. Это позволяет веткам с названиями вида X.Y.Z мирно сосуществовать с тегами вида vX.Y.Z.
  2. Отметки важных этапов: теги также отлично подходят для обозначения значимых моментов в разработке, вроде завершения большой задачи или исправления критической ошибки. Например, тег feature-x-completion может отмечать коммит, в котором была добавлена долгожданная новая возможность.

  3. Быстрой навигации: теги дают удобный способ ссылаться на определённую точку в истории репозитория без необходимости запоминать или искать хеш коммита. Это особенно спасает, когда нужно быстро переключаться между разными версиями проекта.

Примеры

Создать простой тег:

git tag v1.0.0

Создать аннотированный тег с сообщением:

git tag -a v1.2.0 -m "Release 1.2.0"

Вывести список всех тегов:

git tag

Переключиться на определённый тег:

git checkout v1.2.0

Сравнить изменения между тегом и текущим указателем HEAD:

git diff v1.2.0..HEAD