Git Flow
Created by Tung Nguyen (Frontend Specialist) from Technical Division at 2021 Feb
This model was conceived in 2010, now more than 10 years ago, and not very long after Git itself came into being. In those 10 years, git-flow (the branching model) has become hugely popular in many software teams to the point where people have started treating it like a standard of sorts. (Vincent Driessen, author of Git-flow)
In gumi, we have been using this model for more than 6 years, and nowadays, it is a mandatory standard that project teams must follow when developing projects.
1. Overview

Author: Vincent Driessen Original blog post: http://nvie.com/posts/a-succesful-git-branching-model
License: Creative Commons BY-SA
The overall flow of Git-flow:
A develop branch is created from master
A release branch is created from develop
Feature branches are created from develop
When a feature is complete it is merged into the develop branch
When the release branch is done it is merged into develop and master
If an issue in master is detected a hotfix branch is created from master
Once the hotfix is complete it is merged to both develop and master
2. The main branches
There are two main branches with an infinite lifetime:
develop: for the development team to work on features/bugs fix/making releases
master: for production release, shipping product & deliver to the customer

3. Supporting branches
The different types of branches we may use are:
Feature branches: created only from develop branch, for the development team to work on features, bug fixes
Release branches: created only from develop branch, for testing and preparing to release group of finished features, bug fixes (if any) here should be merged back into develop & master branch
Hotfix branches: created only from the master branch, for fixing small bugs on production, bug fixes (if any) here should be merged back into develop branch
4. Reference documentation
Original documentation (Vincent Driessen): http://nvie.com/posts/a-succesful-git-branching-model
Last updated