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.
- Исправления — новая версия, не перенос тега.