Upload
scrumtrek
View
492
Download
9
Embed Size (px)
Citation preview
Git-flow: как построить процесс разработки и быстро получать любую версию продуктаАнтон ГригорьевSUPER SILA
Что такое git-flow?
Что такое git-flow?Дополнительный инструментарий для работы с ветками gitИнструмент разработки новых функций продуктаУдобный механизм получения версий продуктаРабочий процесс
Типичная ситуацияконфликты измененийсрочно нужна старая версиявыпускаем релиз доделываем новую функциональностьсрочно исправить баг в старой версии
Работа с ветками в git
Release
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
v0.2.1v0.2V0.1
Основные ветки: dev и master v0.2.
1v0.2V0.1
Работает
Работает
Работает
Работает
РаботаетRelease
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
Ветка функционала: feature v0.2.
1v0.2V0.1
Интеграция
Функциональность
В разработке
Release
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
Ветка новой версии: release v0.2.
1v0.2V0.1
Исправления
Новая версия
Помечено тегом
Release
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
Ветка исправления: hotfix
Release
Hotfix
v0.2.1v0.2V0.1
Исправления
Исправленная версия
Исправить в текущей версии
Develop
Feature/Android
Feature/Purchase
Master
Работа с ветками в git
Release
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
v0.2.1v0.2V0.1
Git-flow: тестирование
VCS
Проверка версии
Доработка
Коммит
Сборка
Разработчик
CI
QA
1
2
34
DONE
Получение новых версий master рабочая версия для клиентаdevelo
p рабочая версия для команды
release тестирование новой версии
hotfix тестирование исправления
feature разрабатываемая функциональность
Кому подойдет git-flowПостоянные обновленияНе нужно поддерживать старые версииИдеален для Agile-команд
Какие у нас были проблемы
Проблемы с слиянием ветокПоддержка нескольких серверовНесколько версий баз данныхТяжело обучить непрограммистовНе работает с TFS
Какие у нас были проблемы
Проблемы с слиянием ветокПоддержка нескольких серверовНесколько версий баз данныхТяжело обучить непрограммистовНе работает с TFS
Dev Test
Release
Какие у нас были проблемы
Проблемы с слиянием ветокПоддержка нескольких серверовНесколько версий баз данныхТяжело обучить непрограммистовНе работает с TFS
Какие у нас были проблемы
Проблемы с слиянием ветокПоддержка нескольких серверовНесколько версий баз данныхТяжело обучить непрограммистовНе работает с TFS
Best practicesНельзя коммитить в master!Каждый коммит в develop должен быть рабочимЗаводите ветку на новую функциональностьЧаще вливать develop в featureНет новой функциональности в /releaseНастроить CI серверПроверка сборок и автотесты
Best practicesНельзя коммитить в master!Каждый коммит в develop должен быть рабочимЗаводите ветку на новую функциональностьЧаще вливать develop в featureНет новой функциональности в /releaseНастроить CI серверПроверка сборок и автотесты
v0.2.1v0.2V0.1
Работает
Работает
Работает
Работает
РаботаетRelease
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
Best practicesНельзя коммитить в master!Каждый коммит в develop должен быть рабочимЗаводите ветку на новую функциональностьЧаще вливать develop в featureНет новой функциональности в /releaseНастроить CI серверПроверка сборок и автотесты
v0.2.1v0.2V0.1
ФункциональностьRelease
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
Best practicesНельзя коммитить в master!Каждый коммит в develop должен быть рабочимЗаводите ветку на новую функциональностьЧаще вливать develop в featureНет новой функциональности в /releaseНастроить CI серверПроверка сборок и автотесты
v0.2.1v0.2V0.1
Синхронизация
Release
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
Best practicesНельзя коммитить в master!Каждый коммит в develop должен быть рабочимЗаводите ветку на новую функциональностьЧаще вливать develop в featureНет новой функциональности в /releaseНастроить CI серверПроверка сборок и автотесты
v0.2.1v0.2V0.1
Исправления
Release
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
Best practicesНельзя коммитить в master!Каждый коммит в develop должен быть рабочимЗаводите ветку на новую функциональностьЧаще вливать develop в featureНет новой функциональности в /releaseНастроить CI серверПроверка сборок и автотесты
Полезно почитатьSmart branching with SourceTree and git-flowУдачная модель ветвления для Git / A successful git branching modelYet another continuous integration storyWorkflows with git-flowWhy arent you using git-flowAtlassian git tutorials: comparing workflows
Спасибо за внимание!
[email protected]: antongrigoryevFacebook: antonygrigoryev