intermediate

Release-теги

Используйте annotated или подписанные теги для связи задеплоенных версий, changelog, артефактов и решений о rollback.

Release-теги связывают версию с точным коммитом для воспроизводимых сборок, changelog, трассируемости деплоя и цели rollback.

					git tag -a v2.4.0 -m "Release 2.4.0"
git push origin v2.4.0
# CI: push тега v* → сборка артефакта, publish, deploy
				

| Практика | Зачем | |----------|-------| | Annotated tags на релизах | Метаданные и подпись | | Неизменные опубликованные теги | На них ссылаются артефакты и деплои | | SemVer | Breaking vs patch | | Changelog из коммитов | Нужны хорошие сообщения между тегами |

На интервью: annotated vs signed, protected tags, SemVer, CI/CD по тегам, политика retag.

Типовые ошибки: retag опубликованного релиза; lightweight без метаданных; тег до финального merge.

Компромисс — неизменность релиза против hotfix через новую patch-версию, а не сдвиг тега.

Чеклист:

  • Тег на коммите, который реально ушёл в прод.
  • Защита release refs на remote.
  • Связь тегов с артефактами и changelog.
  • Исправления — новая версия, не перенос тега.