Для чего используются теги (tags) в Git?

«Для чего используются теги (tags) в Git?» — вопрос из категории DevOps, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Теги в Git — это статические указатели на конкретные коммиты, используемые для маркировки значимых точек в истории проекта, чаще всего — версий релизов (например, v1.0.3, v2.1.0-rc1). В отличие от веток, теги не перемещаются при новых коммитах.

Типы тегов и их использование:

  • Аннотированные теги (Annotated Tags): Полноценные объекты Git, хранящие метаданные: автор тега, дата, сообщение аннотации и контрольную сумму. Рекомендуются для релизов.
    git tag -a v1.5.0 -m "Релиз версии 1.5.0 с новым API"
    git push origin v1.5.0  # Отправка тега в удаленный репозиторий
  • Легковесные теги (Lightweight Tags): Просто указатель на коммит (как «закладка»). Не содержат дополнительной информации.
    git tag v1.5.0-lw

Практическое применение:

  1. Развертывание (Deployment): Системы CI/CD могут отслеживать теги для автоматического запуска сборки и деплоя соответствующей версии.
  2. Документирование истории: Позволяют быстро найти код, соответствующий конкретной версии продукта, без запоминания хешей коммитов.
  3. Создание дистрибутивов: На GitHub/GitLab при создании тега автоматически можно сгенерировать архив исходного кода (Source Code).

Работа с тегами:

# Просмотр всех тегов
git tag -l

# Просмотр информации об аннотированном теге
git show v1.5.0

# Удаление тега локально и на удаленном репозитории
git tag -d v1.0.0-beta
git push origin --delete v1.0.0-beta