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