Ссылки#
Ссылки в Git — механизм для именованного указания на конкретные коммиты в истории репозитория.
Тег#
Тег — статическая именованная ссылка, указывающая на конкретный коммит.
Используется для маркировки значимых моментов в развитии проекта, таких как релизы.
Типы тегов#
легковесные (обычные) теги — простые указатели на коммиты;
аннотированные теги — полноценные объекты Git со следующими метаданными:
наименование тега;
сообщение с описанием;
информация об авторе;
дата создания.
Ветка#
Ветка — динамический указатель на коммит, который автоматически перемещается при создании новых коммитов.
Особенности веток#
динамичность — ветка всегда указывает на последний коммит в цепочке;
изоляция — позволяет вести параллельную разработку (локальные и удалённые ветки);
лёгкость — ветки являются лёгковесными объектами без метаданных.
Ветвление веток#
Ветвление происходит путём создания новой ветки от существующего коммита.
Ветвление истории коммитов и создание веток-указателей — разные, но связанные концепции.
HEAD и detached HEAD#
HEAD — специальная ссылка, указывающая на текущий активный коммит (обычно через ветку);
detached HEAD — состояние, когда HEAD указывает непосредственно на коммит, а не на ветку.