🛠️ 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 показываются окошко для резолва конфликтов.