Files

🛠️ Conventional Commits

Git Flow — это удобная модель ветвления, которая помогает команде структурировать работу над проектом, разделяя разработку новых фич, исправление багов, подготовку релизов и поддержку продакшна.


📂 Основные ветки

Ветка Назначение
main Стабильная версия продукта (продакшн)
develop Актуальная версия с последними изменениями (дев)

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

Тип ветки Префикс Назначение
Feature feature/ Новая фича или улучшение
Bugfix bugfix/ Исправление ошибки (в процессе разработки)
Hotfix hotfix/ Срочное исправление продакшн-ошибки
Release release/ Подготовка к релизу (фикс багов, финальные правки)

🛠️ Git Flow CLI

🚀 Инициализация Git Flow

Один раз в репозитории:

git flow init
git flow init --force # для перезапуска инициализации

Для префикса можно написать v, с остальными предложениями можно соглашаться

🌱 Работа с ветками

Названием ветки выставляем ID задачи/карточки в redmine/trello

🔧 Начать фичу:

git flow feature start название
# Работаем, коммитим
git flow feature finish название
# Фича будет влита в develop

🛠️ Начать багфикс (в процессе разработки):

git flow bugfix start название
# Исправляем
git flow bugfix finish название
# Фикс будет влит в develop

🚀 Начать релиз:

git flow release start x.x.x
# вносим правки, тестим, пишем документацию и тд.
git flow release finish x.x.x
# Релиз будет влит в main и develop
# Будет создан Git-тег x.x.x

🔥 Начать хотфикс (на проде):

git flow hotfix start название
# Исправляем
git flow hotfix finish название
# Ветка будет влита в main и develop
# Будет создан Git-тег

Подсказки

  • При завершении разработки во временной ветке (finish) cli перекинет вас на написание merge-request. У вас откроется MR файл через vim или nano. Не пугайтесь, в большинстве случаев достаточно сохранить все как есть и продолжить работу.
  • Иногда при завершении разработки во временной ветке (finish) могут возникнуть конфликты. Тут зависит от IDE. В JetBrains IDE показываются окошко для резолва конфликтов.