What is GitFlow?

Published on September 24, 2019

2 min read

Hi everyone. In this article i will descripe the what is GitFlow and how it works?

As you know Git is a version control system. And GitFlow is a branching model of Git. People uses GitFlow for manage branches better and more logical.

Before i started writing this article i drew a structure of GitFlow branch system on board.

Image for post

And i want share with you more professional picture for GitFlow. :)

Image for post

We have so much different keywords on this picture.

Master

This is the live branch of the project. This is a production code. You need be careful when you commit this branch.

Hotfix

When you need to solve something in production code you can use Hotfix branch and open pull-request for master branch.

Develop

This branch same with master branch but you are using this branch for new feature developments. You can’t commit directly but it’s a better than use master branch. You clone this branch from master only one time. Same time you need merge hotfix to this branch.

Feature

Feature is the branch for the our new features on project. You clone new branch from development and start coding new features on this branch. After you will open pull-request on development branch and after that your code will be merged on development branch. But you need to be stay sync with development for avoid conflicts.

Release

When you finish all new feature development on dev branch you need test new features. You can create release branch and test changes before merge on production code. This environment named as a Staging. It means before production last chance to test everything.

As a result ;

GitFlow not solves all problem on branching. But it offers you a more logical branch structure. And this logical branch structure will provide a more efficient working environment over time.

In this article I introduced GitFlow. I hope it will be useful for those who are working or thinking about working.

_Thank you for reading. Sharing and applause will increase motivation :).