Git предлагает гибкие стратегии ветвления, но что это значит? Проще говоря, стратегия ветвления — это набор правил, соглашение, которое помогает нашей команде.

Стратегии ветвления Git позволяют разделить работу. В целом мы можем разделить ветки Git на две категории: обычные и временные ветки.

Обычные ветки Git

Эти ветки будут доступны в вашем репозитории на постоянных базах. Их соглашение об именах простое и понятное.

  • Разработка (dev) – это основная ветвь разработки. Идея ветки dev состоит в том, чтобы вносить в нее изменения и запрещать разработчикам вносить какие-либо изменения непосредственно в ветку master. Изменения в ветке dev проходят проверку и после тестирования объединяются с веткой master.
  • Master (master — main) — это ветвь по умолчанию, доступная в репозитории Git. Он должен быть стабильным все время и не допускать прямой регистрации. Вы можете объединить его только после проверки кода. Все члены команды несут ответственность за поддержание стабильности и актуальности мастера.

Временные ветки Git

Как видно из названия, это ветки, которые можно создавать и удалять при необходимости. Они могут быть следующими:

  • Исправлена ​​ошибка
  • Горячее исправление
  • Филиалы функций

Соглашение об именах ветвей Git

1. Начните название ветки с группового слова

Это одна из лучших практик. Групповое слово может быть любым, чтобы соответствовать вашему рабочему процессу.

Функция/…
Исправление ошибки/…
Исправление/…

2. Используйте уникальный идентификатор в названиях филиалов

Название показывает, что ветка относится к задаче добавления модуля тестирования, в нашем случае это может быть тикет Jira.

КОМАНДА-XYZ

Итак, у нас есть что-то вроде этого:

Функция/TEAM-123…

Из названия видно, что ветка относится к задаче по добавлению модуля тестирования, идентификатор отслеживания проблемы — TEAM-123, работа ведется.

Еще одним преимуществом использования внешнего идентификатора отслеживания в названии ветки является возможность отслеживать прогресс из внешней системы (например, в нашей среде Atlassian).

3. Используйте дефис, подчеркивание или косую черту в качестве разделителей

Есть два основных преимущества использования разделителя в названии ветки:

  1. Это повышает удобочитаемость и помогает избежать путаницы.
  2. Это облегчает управление, особенно если вы имеете дело со многими филиалами.

мы хотим избежать этого:

featureupgradejqueryversionloginmodule

с помощью этого:

feature/TEAM-123_upgrade_jquery

Чего мы не хотим?

Не используйте только цифры: если есть название ветки 9912 — что нам должен сказать этот магический номер? Это означает только большую путаницу и риск ошибок, особенно при слиянии с другими ветками git.

  • Избегайте одновременного использования всех соглашений об именах: смешивание и сопоставление всех соглашений об именах ветвей Git не является лучшей практикой. Это только добавляет путаницы и усложняет общие процессы.
  • Избегайте длинных описательных имен для долгоживущих ветвей. Важным качеством имени ветви является то, что оно должно быть точным и информативным. Давайте еще раз посмотрим на некоторые примеры:

feature/PROV-123_login_module_that_will_used_in_the_public_website
feature/PROV-123_login_module_what_will_used_in_the_internal_website

Какой тогда будет наша конвенция?

Учитывая это, наше соглашение об именах будет выглядеть следующим образом:

группа/ID-название

примером этого может быть:

feature/TEAM-123-fast_api_call