Gitflow Branch Naming Strategy
Follow the Gitflow branching model with proper branch naming for feature, bugfix, hotfix, release, and support branches.
Detailed Explanation
Gitflow Branch Naming
Gitflow is a structured branching model defined by Vincent Driessen that uses specific branch prefixes and a defined workflow for managing releases. It remains one of the most widely adopted branching strategies for teams that deliver versioned software.
Gitflow Branch Types
| Branch Type | Prefix | Branches From | Merges To |
|---|---|---|---|
| Feature | feature/ |
develop |
develop |
| Bugfix | bugfix/ |
develop |
develop |
| Release | release/ |
develop |
main + develop |
| Hotfix | hotfix/ |
main |
main + develop |
| Support | support/ |
Tagged commit | N/A (long-lived) |
Long-Lived Branches
Gitflow defines two permanent branches:
main(ormaster) — Always reflects the production-ready state. Every merge to main is a new release.develop— Integration branch for features. Always reflects the latest delivered development changes for the next release.
Naming Examples per Type
feature/auth-123-implement-oauth2
feature/ui-456-redesign-dashboard
bugfix/bug-789-fix-email-validation
release/v2.3.0
release/v2.3.0-rc.1
hotfix/v2.3.1-fix-payment-crash
support/v1.x
When to Use Gitflow
Gitflow works well for projects that:
- Have a defined release schedule (weekly, bi-weekly, monthly)
- Need to maintain multiple release versions simultaneously
- Require strict separation between development and production code
- Have dedicated release managers or QA phases
For teams practicing continuous deployment (deploying every merge to main), trunk-based development with short-lived feature branches may be more appropriate. However, the feature/, bugfix/, and hotfix/ prefixes from Gitflow are still widely used even outside the full Gitflow model.
Tool Configuration for Gitflow
This generator supports all Gitflow branch types in the Branch Type dropdown. Set the template to {type}/{ticket}-{title} for ticket-based naming, or {type}/{title} for description-only branches. Release branches typically use release/v{version} format — enter the version number in the ticket field.
Use Case
A team adopting Gitflow needs a clear reference for how to name branches at each stage of the workflow, from feature development through release preparation and hotfixes.