Чем отличаются ветки и теги в Git?

Ответ

Основное различие заключается в их назначении и поведении: ветки — это динамические указатели для процесса разработки, а теги — статические метки для фиксации конкретных версий.

Ветка (Branch)

Это подвижный указатель на один из коммитов. Когда вы создаете новый коммит в ветке, указатель автоматически сдвигается на него.

  • Назначение: Изолированная разработка новых функций, исправление ошибок.
  • Пример:
    # Создать новую ветку для фичи и переключиться на нее
    git checkout -b feature/new-login

Тег (Tag)

Это неизменяемый указатель на конкретный коммит. Он навсегда закреплен за одной точкой в истории проекта.

  • Назначение: Маркировка релизов и важных моментов (например, v1.0, v2.1.5).
  • Пример:
    # Создать аннотированный тег для версии 1.0
    git tag -a v1.0 -m "Release version 1.0"
    # Отправить тег в удаленный репозиторий
    git push origin v1.0

Ключевые отличия

Характеристика Ветка (Branch) Тег (Tag)
Динамика Подвижный указатель Статичный указатель
Назначение Активная разработка Маркировка релизов
Изменяемость Постоянно обновляется коммитами Неизменяем (после создания)