▶ Watch this video on YouTube (opens in a new tab)
Somebody on your team read a blog post and now wants to "go trunk-based." Everyone commits to main, merges constantly, merge hell vanishes. Sounds great.
Here's the thing people skip: trunk-based development doesn't mean no branches. It means short-lived branches. A branch that lives for a few hours is a completely different animal than one that lives for three weeks. The metric that matters isn't whether branches exist — it's how long they survive.
The usual misdiagnosis is that trunk-based is a workflow choice you just flip on. It isn't. It's a destination. Google, Meta, and Microsoft really do work this way — but they got there by building the stuff underneath it: solid tests, fast CI, feature flags, and the discipline to integrate small and often. Skip those prerequisites and trunk-based hurts more than it helps.
And yes, you can still do code review. Short-lived branches with pull requests is trunk-based.
If you're not there yet, that's fine. The video walks through how to get closer, one step at a time.