Git Flow — Helpful and Simple

Solomon Adir
2 min readApr 29, 2022


Git flow diagram

What is it?

Git flow is a branching model created by Vincent Driessen. This model describes to you how to name your project branches.

Why use it?

Git flow helps you manage versions and develop with a team. It describes how you should work, from where to start each branch by its type and where to merge it.

How does it work?

Git flow is based on 5 types of branches (There are more types, but we would speak on the leading 5).

  1. Master: This branch describes the production state. We would never develop on this branch.
  2. Develop: This branch describes the developing state. We also would never develop on this branch, just merge into it the features.
  3. Feature: This branch is created when we want to add a feature or change to the project and upload it on the next release. We would start this branch from develop branch and in the end, merge it back to develop branch. Branches should be named as feature/{feature-name}.
  4. Release: This branch is created on each release we want. It will be started from the development branch and merged into the master branch with a new tag. Branches should be named as release/{release-version}.
  5. Hotfix: This branch is created when needed a fix on the production. We will start this branch from the master branch and in the end, we will merge it back into the master branch. Also will merge the master’s into the development to align between the branches. Branches should be named as hotfix/{hotfix-name}.

My opinion

After working on some projects without this branching model, I can see the difference between projects. This model helped me to manage the versions of my product and also I always knew to which branch I needed to merge when I finished with something. Also, if I was busy, any developer would know without asking me. I am recommending using this branching model for your projects.



Solomon Adir

Backend developer and researches security weaknesses