trunk-based development pattern
All engineers commit to a shared mainline daily (or more). Feature branches are short-lived (hours, not weeks). Long-lived branches are avoided because they accumulate merge debt and decouple individuals from the integrated state of the system. Pairs naturally with feature flags for gradual rollout.
All engineers commit to a shared mainline daily (or more). Feature branches are short-lived (hours, not weeks). Long-lived branches are avoided because they accumulate merge debt and decouple individuals from the integrated state of the system. Pairs naturally with feature flags for gradual rollout.
symptoms
- merge hell from long-lived branches
- integration surprises at PR time
- feature branches outliving the feature
causes
- feature branching by default
- no flag mechanism for partial rollout
fixes
- everyone merges to main daily
- feature flags for incomplete features
- fast CI to keep main always green
you might say
- trunk-based dev
- TBD
- merge to main daily