GIT-FLOW
МОДЕЛЬ ВЕТВЛЕНИЯ РАЗРАБОТКИ В GIT
АВТОРЫ
Git: Linus Torvalds
Git-flow: Vincent Driessen
Презентация: Sergey Chudakov
Актуальная версия: www.ruops.dev
ДЛЯ ЧЕГО: КОМАНДНАЯ РАЗРАБОТКА ПО СТАНДАРТУ, СТАБИЛИЗАЦИЯ, CI/CD
Git Flow является методологией работы с Git. Это значит, она определяет, какие ветки нужно создать и как производить их слияние
git-flow является оберткой для Git. Команда git flow init является расширением стандартной команды git init и ничего не меняет в вашем репозитории, кроме того, что создает ветки. Есть интеграции с IDE и GUI менеджерами репозитория
ИНИЦИАЛИЗАЦИЯ GIT FLOW
ОБРАТИТЕ ВНИМАНИЕ, ЧТО ВЕТКИ ФУНКЦИЙ ОБЪЕДИНЯЮТСЯ С ВЕТКОЙ DEVELOP И УДАЛЯЮТСЯ ПОСЛЕ СЛИЯНИЯ
СОЗДАНИЕ ВЕТКИ ФУНКЦИИ
Для примера создадим ветку с названием production-build
git checkout -b feature/production-build develop
git flow feature start production-build
ПУБЛИКАЦИЯ, ПОЛУЧЕНИЕ, ОТСЛЕЖИВАНИЕ
git flow feature publish production-build
git flow feature pull origin production-build
git flow feature track production-build
ЗАВЕРШЕНИЕ РАБОТЫ С ВЕТКОЙ�
git checkout develop
git merge --no-ff production-build
git flow feature finish production-build
ВЕТКИ РЕЛИЗОВ ОСНОВАНЫ НА ВЕТКЕ DEVELOP��НОВАЯ ВЕТКА RELEASE МОЖЕТ БЫТЬ СОЗДАНА С ИСПОЛЬЗОВАНИЕМ СЛЕДУЮЩИХ КОМАНД�
git checkout develop
git checkout -b release/0.5.0
git flow release start 0.5.0 # ещё одним параметром может быть указан [BASE], сейчас это develop
git flow release publish 0.5.0
При желании вы можете указать [BASE] - коммит в виде его хеша sha-1, чтобы начать релиз с него, коммит должен принадлежать ветке develop
git checkout develop
git merge release/0.7.0
git checkout master
git merge release/0.7.0
git tag r0.7.0
git push --tags
git flow release finish '0.7.0'
ВЕТКА HOTFIX МОЖЕТ БЫТЬ СОЗДАНА С ПОМОЩЬЮ СЛЕДУЮЩИХ КОМАНД
git checkout master
git checkout -b hotfix_branch
git flow hotfix start hotfix_branch [BASE]
ВЕТКА HOTFIX ОБЪЕДИНЯЕТСЯ КАК С MASTER, ТАК И С DEVELOP
git checkout master
git merge hotfix_branch
git checkout develop
git merge hotfix_branch
git branch -d hotfix_branch
или через git-flow:
git flow hotfix finish hotfix_branch
КЛЮЧЕВЫЕ ИДЕИ, КОТОРЫЕ НУЖНО ЗАПОМНИТЬ О GIT FLOW
ПОСЛЕДОВАТЕЛЬНОСТЬ РАБОТЫ ПРИ ИСПОЛЬЗОВАНИИ МОДЕЛИ GIT-FLOW
ПЛАГИНЫ ДЛЯ IDE
ATLASSIAN SOURCETREE
УСТАНОВКА ДЛЯ КОМАНДНОЙ СТРОКИ
$ sudo apt install git-flow
$ brew install git-flow-avh
входит в комплект и работает из Git bash и cmd: gitforwindows.org
BONUS
Автодополнение команды git flow с помощью Tab для Bash и Zsh
Шпаргалка по git-flow с подсказками на первое время
Хуки для автоматического повышения версии и сообщения для тега
При подготовке презентации использовались материалы:
Презентация подготовлена для доклада в компании БИТ