A release branch isolates the path to a version from active main-line development.
Workflow:
- Cut from main:
git switch -c release/1.0.0
- Only bug fixes land on this branch.
- Once stable: tag it
v1.0.0 and merge back to main.
- Continue main-line work while support continues on the release branch.
This pattern (Git Flow) is heavy. Many teams prefer trunk-based development with feature flags. Reach for release branches when:
- You support older versions (security patches for v1 while v2 ships).
- Your release cadence is slow (quarterly, not daily).
- You need a stabilization period.