-
index
-
dev
-
twigs
Branches and Twigs
Twigs
- Relatively short-lived
- Share the commit policy of their parent branch
- Gain little value from global names
- Examples: most “topic branches” are twigs
Branches
- Relatively long-lived
- Correspond to differences in commit policy
- Gain lots of value from global names
- Examples: git-flow 'master', 'develop', &c; hg 'stable' vs 'default';
release branches
Commit policy
- Decisions like “should every commit pass tests?” and “is rewriting or
deleting a commit acceptable?” are, collectively, the policy of a branch
- Can be very formal or even tool-enforced, or ad-hoc and fluid
- Shared understanding of commit policy helps get everyone's expectations
lined up, easing other SCM-mediated conversations