Trunk-based development is a version-control branching model in which developers collaborate on a single primary branch - called the trunk, main, or master - rather than maintaining many long-lived branches. The trunkbaseddevelopment.com site, created by Paul Hammant with community contributions, describes developers who “resist any pressure to create other long-lived development branches by employing documented techniques.”
In practice, this means integrating small changes into the trunk very frequently, often several times a day, instead of letting a feature branch live for weeks before a large, painful merge. Short-lived branches are tolerated, but the goal is to keep everyone’s work converging on one shared line of code.
The site frames trunk-based development as “a key enabler of Continuous Integration and by extension Continuous Delivery.” Committing to the trunk multiple times a day satisfies CI’s core requirement that every team member integrate their work at least once every day, keeping the trunk releasable.
The approach scales from small teams committing directly to trunk up to very large organizations. As the site notes, Google practices trunk-based development across tens of thousands of developers working in a single monorepo - a demonstration that frequent integration into one branch can work even at extreme scale.