Що таке тег у Git?
Тег (tag) у Git - це іменована мітка на конкретному коміті, яка зазвичай використовується для позначення версії або релізу.
Простіше кажучи:
тег - це «ярлик» на коміті з зрозумілим ім'ям на кшталт v1.2.0.
Навіщо потрібні теги
Теги дозволяють:
- позначати релізи і версії
- легко повернутися до потрібного стану коду
- запускати CI/CD за версією
- мати стабільну точку в історії (на відміну від гілок)
Гілка «рухається», тег - ні.
Як це виглядає на практиці
Історія комітів:
A---B---C---D---E
↑
v1.0.0Тег v1.0.0 вказує точно на коміт C і завжди вказуватиме на нього.
Основні види тегів
1. Lightweight tag (легкий тег)
- просто посилання на коміт
- без опису і метаданих
git tag v1.0.0Використовується рідко, здебільшого для локальних позначок.
2. Annotated tag (анотований тег) - рекомендується
- містить автора
- дату
- повідомлення
- зберігається як окремий об'єкт у Git
git tag -a v1.0.0 -m "Release version 1.0.0"Саме такі теги використовують для релізів.
Теги і релізи (важливий момент)
- Тег - це об'єкт Git
- Реліз - це сутність платформи (GitHub / GitLab)
Зазвичай:
- створюють тег
v1.2.0 - на його основі створюють реліз з описом змін
Як теги працюють з віддаленим репозиторієм
За замовчуванням теги не пушаться автоматично.
git push origin v1.0.0Або всі одразу:
git push --tagsТеги в CI/CD
Дуже часто:
- pipeline запускається за тегом
- деплой у прод іде лише з тегів
- ім'я тега = версія застосунку
Приклад:
v1.3.2 → деплой у productionЩо важливо підкреслити на співбесіді
- тег - не гілка
- тег - не рухається
- тег вказує на конкретний коміт
- для релізів використовують annotated tags
Коротка відповідь для співбесіди
Тег у Git - це іменована мітка на конкретному коміті, яка зазвичай використовується для позначення версії або релізу. На відміну від гілки, тег не змінюється і завжди вказує на той самий стан коду.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.