A successful Git branching model
gitbranchinggit-flowrelease-managementversion-control
Abstraction: Git-flow branching model with master, develop, feature, release, hotfix branches
Key points:
- Two permanent branches:
master(always production-ready) anddevelop(integration branch for next release) - Feature branches fork from
developand merge back with--no-ffto preserve branch history - Release branches fork from
develop, get version number bumped, then merge into bothmasteranddevelop - Hotfix branches fork from
masterfor urgent production fixes, merge back into bothmasteranddevelop - Author's 2020 reflection: git-flow is best for explicitly versioned software; for continuous delivery web apps, simpler GitHub Flow is preferred
--no-ffflag on merges creates an explicit commit object, keeping feature history visible
Connections: Git · Branching Strategy · Version Control · Continuous Delivery
Source: http://nvie.com/posts/a-successful-git-branching-model/