Last Updated: February 25, 2016
· obale

Development and Release Workflow with Git

You find a detailed description about the Development and Release Workflow under

The following text summarizes only the blog entry.

The Branch Model

Split your source code repository into two big branches. This branches are shared with all developers. All additional branches should be kept locally or agreed beforehand how the fit into the model.

  • master: This is the ready-to-release branch and should be only touched by your release team (or if you are in a small team only by the responsible person that releases the software)
  • develop: This branch is used for the daily development. This branch will be merged back to the master branch if stable enough for the next release.


The picture was taken from


Create for each release one tag (remember: we release only from the master branch and merge the changes from the development branch). The tag should look like as follows:

  • v1.0.0 with a detailed description about the changes that are part of this release.

I recommend to use semantic versioning if possible, as described under This simplifies the internal dependencies between components and avoids confusion.