Trunk-based vs GitFlow — choosing the right workflow for your team's release cadence and velocity
How a team uses git determines how fast they can ship, how painful their merges are, and how easy it is to hotfix production. There's no universally correct workflow — the right choice depends on release cadence, team size, and CI maturity, and thinking beyond mechanical git use is what separates senior engineers.
The core tension: long-lived feature branches avoid merge conflicts in the short term but create much larger ones later — "merge hell." Trunk-based development forces small, frequent integrations that keep conflicts small and surface integration issues early. The longer a branch lives, the more it diverges, and the harder it is to merge.