Skip to main content

Що таке тег у Git?

Тег (tag) у Git - це іменована мітка на конкретному коміті, яка зазвичай використовується для позначення версії або релізу.

Простіше кажучи: тег - це «ярлик» на коміті з зрозумілим ім'ям на кшталт v1.2.0.


Навіщо потрібні теги

Теги дозволяють:

  • позначати релізи і версії
  • легко повернутися до потрібного стану коду
  • запускати CI/CD за версією
  • мати стабільну точку в історії (на відміну від гілок)

Гілка «рухається», тег - ні.


Як це виглядає на практиці

Історія комітів:

A---B---C---D---E v1.0.0

Тег v1.0.0 вказує точно на коміт C і завжди вказуватиме на нього.


Основні види тегів

1. Lightweight tag (легкий тег)

  • просто посилання на коміт
  • без опису і метаданих
bash
git tag v1.0.0

Використовується рідко, здебільшого для локальних позначок.


2. Annotated tag (анотований тег) - рекомендується

  • містить автора
  • дату
  • повідомлення
  • зберігається як окремий об'єкт у Git
bash
git tag -a v1.0.0 -m "Release version 1.0.0"

Саме такі теги використовують для релізів.


Теги і релізи (важливий момент)

  • Тег - це об'єкт Git
  • Реліз - це сутність платформи (GitHub / GitLab)

Зазвичай:

  1. створюють тег v1.2.0
  2. на його основі створюють реліз з описом змін

Як теги працюють з віддаленим репозиторієм

За замовчуванням теги не пушаться автоматично.

bash
git push origin v1.0.0

Або всі одразу:

bash
git push --tags

Теги в CI/CD

Дуже часто:

  • pipeline запускається за тегом
  • деплой у прод іде лише з тегів
  • ім'я тега = версія застосунку

Приклад:

text
v1.3.2 → деплой у production

Що важливо підкреслити на співбесіді

  • тег - не гілка
  • тег - не рухається
  • тег вказує на конкретний коміт
  • для релізів використовують annotated tags

Коротка відповідь для співбесіди

Тег у Git - це іменована мітка на конкретному коміті, яка зазвичай використовується для позначення версії або релізу. На відміну від гілки, тег не змінюється і завжди вказує на той самий стан коду.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.