Skip to main content

Чим тег відрізняється від гілки?

Тег і гілка в Git відрізняються своєю роллю і поведінкою в історії комітів.

Коротко: гілка - це «живий вказівник», а тег - «нерухома мітка».


Головна відмінність

  • Гілка вказує на останній коміт і рухається вперед з кожним новим комітом
  • Тег вказує на конкретний коміт і ніколи не змінюється

На простому прикладі

Історія:

A---B---C---D
  • гілка mainD
  • тег v1.0.0B

Якщо додати новий коміт:

A---B---C---D---E
  • mainE
  • v1.0.0 → все ще B

Відмінності за призначенням

Гілка

  • використовується для розробки
  • об'єднується через merge/rebase
  • може змінюватися і переписуватися
  • часто живе тимчасово

Тег

  • використовується для версій і релізів
  • не бере участі в merge
  • не змінюється
  • фіксує стан коду

Відмінності в поведінці

КритерійГілкаТег
Рухається при нових комітахтакні
Можна робити commitтакні
Використовується для розробкитакні
Позначає версіюнітак
Може бути видаленийтактак (але рідко)

Часто запитують на співбесіді

Чи можна закомітити в тег? Ні. Коміти робляться в гілку, тег лише вказує на коміт.

Чи можна «перемістити» тег? Технічно - так (видалити і створити заново), але це погана практика для релізів.


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

Гілка - це рухомий вказівник на останній коміт та інструмент розробки, а тег - це незмінна мітка на конкретному коміті, яка використовується для фіксації версії чи релізу.

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

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

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