Based and adopted from Vincent Driessen's A Successful Git Branching Model - http://nvie.com/posts/
Based and adopted from Vincent
a-successful-git-branching-model
Driessen's A Successful Git Branching Model
http://nvie.com/posts/a-successful-git-branching-model
future feature develop release hotfixes master
Features for
Tag
future
1.1.35
release Daily
builds
Continuous
Sprint
-defined Tag
merge 1.1.35.1
features
Tag
1.1.36
Tag
1.37
Development & Integration1
- origin/develop is the default integration branch containing source code with the latest
delivered development changes targeted for the next release. Scheduled nightly builds are
built from this branch using automatic tagging in the format release_number-YYYYMMDD
(e.g. 1.1.38.20170928)
- Only push new code to the develop branch
- Always branch off the develop branch for new features using the branch name format:
feature/Jira-ticket_number (e.g. feature/ILL-788)
- Always merge back ready-for-build code back to the develop branch
Hotfixes3
- Always branch off the master branch for every hotfix release using the branch name format
hotfix/X.Y.ZZ.x (e.g. hotfix/1.1.38.1). hotfix branches are similar to the release
branches in that they are also meant to prepare for a new production release albeit
unplanned. They arise from the necessity to act immediately upon an undesired state of a
live production version. Critical bug fixes to live production code are committed into this
branch
- Always merge back production-ready hotfixes back to the master and develop branches
respectively
- Only build production-ready hotfixes from the master branch by tagging the latest hotfix-
to-master merge
1 http://nvie.com/posts/a-successful-git-branching-model/#the-main-branches
2 http://nvie.com/posts/a-successful-git-branching-model/#release-branches
3 http://nvie.com/posts/a-successful-git-branching-model/#hotfix-branches