foundation
Тег
Именуйте важные коммиты для релизов, аудита, трассируемости деплоя и provenance версий пакетов.
Тег именует конкретный коммит — часто точку релиза. **Lightweight** — простой ref; **annotated** хранит tagger, дату, сообщение и может быть GPG-подписан для provenance.
git tag -a v2.4.0 -m "Release 2.4.0"
git push origin v2.4.0
git show v2.4.0
Теги связывают SemVer с точным состоянием исходников для changelog, деплоя, rollback и воспроизводимости артефактов.
На интервью: lightweight vs annotated, подписанные теги, неизменность опубликованных release-тегов, CI по тегам.
Типовые ошибки: перенос или удаление опубликованных тегов ломает аудит; lightweight на релизах без метаданных; тег не того коммита после спешного merge.
Компромисс — церемония релиза (annotated/signed) против скорости (lightweight на внутренних вехах).
Чеклист:
- Annotated tags для публичных релизов.
- Защита опубликованных release-тегов на remote.
- Связь тегов с changelog и артефактами сборки.
- Не перетегивайте релиз, который уже задеплоили.