One-line summary
A source-control branching model, where developers collaborate on code in a single branch called ‘trunk’1, resist any pressure to create other long-lived development branches by employing documented techniques. They therefore avoid merge hell, do not break the build, and live happily ever after.
Claims
- You should do Trunk-Based Development instead of GitFlow and other branching models that feature multiple long-running branches
- You can either do a direct to trunk commit/push (v small teams) or a Pull-Request workflow as long as those feature branches are short-lived and the product of a single person.
For small teams
At scale
Notes
- Trunk-Based Development is a key enabler of Continuous Integration and by extension Continuous Delivery. (…) [It] ensures the codebase is always releasable on demand and helps to make Continuous Delivery a reality.
- The largest of development organizations, like Google (as mentioned) and Facebook practice it at scale.
- Very similar to GitHub flow
-
main or master, in Git nomenclature ↩