Gitflow Branch Naming Strategy

Follow the Gitflow branching model with proper branch naming for feature, bugfix, hotfix, release, and support branches.

Integration Patterns

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 (or master) — 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.

Try It — Git Branch Name Generator

Open full tool