### Модель ветвления: Git Flow 

> Данная моделя является практической реализацией основных принципов разработки ПО в VCS с учетом релизных циклов ПО. 
Подходит как для Scrum, так и для Waterfall.

<img src="https://github.com/eldaroid/iTWiki/blob/master/pictures/other/GitFlow.png?raw=true" alt="GitFlow" width="600" height="300">

#### Принципы

* Две главные ветки:

    * master - текущая стабильная версия, работающая на пром-среде
    * develop - основная ветка разработки

* Вспомогательные ветки:

    * feature - новый функционал или исправление некритичных багов; сливаются в develop
    * release - фиксация и стабилизация релиза (feature-freeze); сливаются в master и develop
    * hotfix - исправление критичных багов; сливаются в master и develop

* Все слияния происходят только через pull-request'ы

| Плюсы: | Минусы: |
| ------------- |------------------|
| Фиксация и стабилизация функционала релиза до попадания на пром | Не самая простая схема работы; требует досконального понимания от разработчика, какие ветки откуда создаются и куда сливаются |
| Возможность выпускать ночные сборки (nightly build) | Готовый функционал попадает на пром с некоторой задержкой |

#### Дополнительные материалы:

[Удачная модель ветвления для Git:](https://habr.com/ru/post/106912/)

---

[1.2.2 Git Theme](../1.2.2%20Git.md) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) |  [1.2.3.2 GithubFlow Theme](./1.2.3.2%20Githubflow.md)
