SlideShare a Scribd company logo
1 of 32
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
Работает
Работает
Работает
РаботаетРаботает
Develop
Master
Ветка функционала: feature
Интеграция Функциональность
В разработке
Develop
Feature/Android
Feature/Purchase
Ветка новой версии: release
v0.2.1v0.2V0.1
Исправления
Новая версия
Помечено тегом
Release
Develop
Master
Ветка исправления: hotfix
Hotfix
v0.2.1v0.2V0.1
Исправления
Исправленная
версия
Исправить в
текущей версии
Develop
Master
Работа с ветками в git
Release
Develop
Feature/Android
Feature/Purchase
Hotfix
Master
v0.2.1v0.2V0.1
Git-flow: тестирование
VCS
Проверка
версии
Доработка
Коммит
Сборка
Разработчик
CI
QA
1
2
3
4
DONE
Получение новых версий
master рабочая версия для клиента
develop рабочая версия для команды
release тестирование новой версии
hotfix тестирование исправления
feature разрабатываемая функциональность
Unity Cloud Build
Unity Cloud Build targets
TeamCity
Работа по git-flow в SourceTree
Работа по git-flow в cmd
Работа по git-flow в VS
Git-flow в SVN
/tag master
/trunk develop
feature/branches
Кому подойдет git-flow
Постоянные обновления
Не нужно поддерживать старые версии
Идеален для Agile-команд
Какие у нас были проблемы
Проблемы с слиянием
веток
Какие у нас были проблемы
Поддержка нескольких
серверов
Несколько версий баз
данных
Dev Test
Release
Какие у нас были проблемы
Тяжело обучить
непрограммистов
Какие у нас были проблемы
Не работает с TFS
Best practices
Нельзя коммитить в master!
Best practices
Каждый коммит в develop
должен быть рабочим
Работает
Работает
Работает
РаботаетРаботает
Develop
Best practices
Заводите ветку на новую
функциональностьФункциональность
Develop
Feature/Purchase
Best practices
Чаще вливать develop в feature
Синхронизация
Develop
Feature/Purchase
Best practices
Нет новой функциональности
в /release
Исправления
Release
Develop
Best practices
Настроить CI сервер
Проверка сборок и автотесты
Полезно почитать
Smart branching with SourceTree and git-flow
Удачная модель ветвления для Git / A successful git
branching model
Yet another continuous integration story
Workflows with git-flow
Why arent you using git-flow
Atlassian git tutorials: comparing workflows
Спасибо за внимание!
anton.grigorjev@gmail.com
LinkedIn: antongrigoryev
Facebook: antonygrigoryev

More Related Content

What's hot

Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and GithubHouari ZEGAI
 
Git Terminologies
Git TerminologiesGit Terminologies
Git TerminologiesYash
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow IntroductionDavid Paluy
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Wen-Tien Chang
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily useMediacurrent
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesLeandro Cavalcante
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーSaeko Yamamoto
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 

What's hot (20)

Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Git & git hub
Git & git hubGit & git hub
Git & git hub
 
Tutorial Git
Tutorial GitTutorial Git
Tutorial Git
 
Git Terminologies
Git TerminologiesGit Terminologies
Git Terminologies
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
GitLab.pptx
GitLab.pptxGitLab.pptx
GitLab.pptx
 
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
 
Tutoriel GIT
Tutoriel GITTutoriel GIT
Tutoriel GIT
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily use
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
 
Git basic
Git basicGit basic
Git basic
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 

Similar to Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать любую версию продукта

Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сAlexey Lustin
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Egor Stremousov
 
GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?Tados
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с GitDenis Latushkin
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним боротьсяВладимир Кожаев
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с GitDressTester
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)Anton Ivanov
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)Ilya V
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающихVadim Drobinin
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере GitSCINO
 
Git, smart git & gitflow
Git, smart git & gitflowGit, smart git & gitflow
Git, smart git & gitflowjustvitalius
 

Similar to Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать любую версию продукта (20)

Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1с
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"
 
Git basis
Git basisGit basis
Git basis
 
GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?
 
Git
GitGit
Git
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Git for you
Git for youGit for you
Git for you
 
GitFlow_MOEX
GitFlow_MOEXGitFlow_MOEX
GitFlow_MOEX
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с Git
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним бороться
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с Git
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Giflow
GiflowGiflow
Giflow
 
Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)
 
CI/CD with Fastlane and Telegram
CI/CD with Fastlane and TelegramCI/CD with Fastlane and Telegram
CI/CD with Fastlane and Telegram
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающих
 
Git presentation
Git presentationGit presentation
Git presentation
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Git, smart git & gitflow
Git, smart git & gitflowGit, smart git & gitflow
Git, smart git & gitflow
 

More from ScrumTrek

Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...ScrumTrek
 
Светлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалСветлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалScrumTrek
 
Александр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumАлександр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumScrumTrek
 
Сергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюСергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюScrumTrek
 
Юрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеЮрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеScrumTrek
 
Анна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиАнна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиScrumTrek
 
TealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыTealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыScrumTrek
 
Анастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRАнастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRScrumTrek
 
Марина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииМарина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииScrumTrek
 
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаАсхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаScrumTrek
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS HugeScrumTrek
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктовScrumTrek
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsScrumTrek
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMScrumTrek
 
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсКирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсScrumTrek
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsScrumTrek
 
Асхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиАсхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиScrumTrek
 
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileОлег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileScrumTrek
 
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?ScrumTrek
 
Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?ScrumTrek
 

More from ScrumTrek (20)

Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
Александра Баптизманская, Никита Романов. Хочешь Agile в маркетинге - спроси ...
 
Светлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвалСветлана Байгалиева (MindGym). Встань за штурвал
Светлана Байгалиева (MindGym). Встань за штурвал
 
Александр Тупиков. Введение в Scrum
Александр Тупиков. Введение в ScrumАлександр Тупиков. Введение в Scrum
Александр Тупиков. Введение в Scrum
 
Сергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компаниюСергей Чирва. Как Scrum превращает завод в IT-компанию
Сергей Чирва. Как Scrum превращает завод в IT-компанию
 
Юрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практикеЮрий Соболев. Проблемы и решения Scrum на практике
Юрий Соболев. Проблемы и решения Scrum на практике
 
Анна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила волиАнна Обухова. Scrum и сила воли
Анна Обухова. Scrum и сила воли
 
TealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена командыTealTeam. Главный критерий при выборе нового члена команды
TealTeam. Главный критерий при выборе нового члена команды
 
Анастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HRАнастасия Мизитова. Компетенции для Agile HR
Анастасия Мизитова. Компетенции для Agile HR
 
Марина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компанииМарина Львова. Изменение роли HR в Agile-компании
Марина Львова. Изменение роли HR в Agile-компании
 
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коучаАсхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
Асхат Уразбаев. Три вопроса к HR службе от аджайл-коуча
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS Huge
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктов
 
Сергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOpsСергей Баранов. Enterprise DevOps
Сергей Баранов. Enterprise DevOps
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRM
 
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсКирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOps
 
Асхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудникиАсхат Уразбаев. Крутые организации, счастливые сотрудники
Асхат Уразбаев. Крутые организации, счастливые сотрудники
 
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" AgileОлег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
Олег Бахмутов, Михаил Плотников, Илья Емельянов. 3 "кита" Agile
 
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
Алексей Ионов. Agile-трансформация: что делать, чтобы потом не искать виноватых?
 
Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?Иван Дубровин. Почему государство должно быть Agile?
Иван Дубровин. Почему государство должно быть Agile?
 

Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать любую версию продукта