Trunk based development
https://cloud.google.com/architecture/devops/devops-tech-trunk-based-development
Trunk-based development is a required practice for continuous integration.
Continuous integration (CI) is the combination of practicing trunk-based development and maintaining a suite of fast automated tests that run after each commit to trunk to make sure the system is always working.
Analysis shows that teams achieve higher levels of software delivery and operational performance (delivery speed, stability, and availability) if they follow these practices -
- Have three or fewer active branches in the application's code repository.
- Merge branches to trunk at least once a day.
- Don't have code freezes and don't have integration phases.
More reading -
- Article by Martin Fowler on feature branching. https://martinfowler.com/bliki/FeatureBranch.html
- Jez Humble's post on DVCS and feature branches. https://continuousdelivery.com/2011/07/on-dvcs-continuous-integration-and-feature-branches/
- Paul Hammant's portal devoted to trunk-based development. https://trunkbaseddevelopment.com/