Branching Strategies

How Teams Organize Branches

There's no single "right" way - teams pick a strategy that fits their release cadence.

StrategyIdeaBest for
GitHub FlowOne main (always deployable) + short-lived feature branches → PR → mergeContinuous deployment, web apps
Trunk-BasedEveryone commits to main frequently behind feature flagsHigh-velocity teams, CI/CD
Git FlowLong-lived develop + main, plus feature/, release/, hotfix/ branchesScheduled releases, versioned software
Analogy: GitHub Flow is a busy kitchen where each dish (feature) is cooked on its own station and served fast. Git Flow is a formal restaurant with prep, plating and release stages - more structure, more overhead.
Tip: Most modern web teams use GitHub Flow or trunk-based - small branches, fast merges, deploy often. Git Flow shines when you ship versioned releases (v1.2, v1.3) to customers who don't all upgrade at once.