Source control management

There are 2 main branches created:

  • Master which is the production branch;

  • TEST which is used for the development and future development.

Supporting branches:

  • Feature branches: implement development features;

  • Release branches; After development, test your test release before master;

  • Hotfix branches: Only for hot fix in PROD.

To start a development a check out from master to dev is done.
During the development of a new release start implementing with "feature" branch (ex: feature_epicname or feature_1.1.0).
Once the feature implemented merge feature into dev.

When the sprint is done and at the same time create a new branch release (ex: release_1.1.0).
Test this branch before delivering in master (PROD).

New releases with specific Tag are created after a merge to Master. A tag must be created after a merge from other branch into master.



For the small team the branches could live with only 1 branch features per development release. In case of more than 3, 4 people in the team change the organization to archive branches.

source: http://nvie.com/posts/a-successful-git-branching-model