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. Используйте дефис, подчеркивание или косую черту в качестве разделителей
Есть два основных преимущества использования разделителя в названии ветки:
- Это повышает удобочитаемость и помогает избежать путаницы.
- Это облегчает управление, особенно если вы имеете дело со многими филиалами.
мы хотим избежать этого:
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