Git Workflow

We are using git as a versioning system using the Git Branching Workflows

The main branches are:

  • master - the stable version used in productive environments. It is the latest release version which is tested and, to our knowledge, bug-free.
  • develop - here the latest development branches are joined when they are finished. At a release the develop branch is merged into the master branch.

The branches in which the work (in progress) is happening have following prefixes:

  • feature_ - e.g. feature_user_profile_images
  • fix_ - e.g. fix_map_bug

When work on these branches is finished they are merged into the develop branch. Around once a month a new version is released where the develop branch is merged into the master branch.

When working on a new feature it's a good workflow to begin from the develop branch and merge it regularly to keep merge conflicts to a minimum.

There may be some other prefixed branches which won't be merged regularly:

  • try_ - if something was tried out and put aside for the moment but may be continued later
  • test_ - special versions that are used to test specific scenarios