GitFlow — Explained with Examples
GitFlow is a branching model that organizes development with dedicated branches for features, releases, hotfixes, and the main codebase.
GitFlow, popularized by Vincent Driessen in 2010, uses two long-running branches: main (production-ready code) and develop (integration branch for features). Supporting branches include feature/* (new features), release/* (preparation for a release), and hotfix/* (urgent fixes). Features branch off develop and merge back into develop. Releases branch from develop and merge into both main and develop.
Think of GitFlow like a restaurant kitchen. The main branch is what’s served to customers — always perfect. The develop branch is the prep station where new recipes are tested. Feature branches are individual cooks working on their own dishes. Hotfixes are like fixing a burnt dish — done immediately on the side and served straight to the customer.
GitFlow works well for projects with scheduled releases and multiple maintenance versions. However, its complexity can slow down continuous delivery teams.
# Create a feature branch
git flow feature start user-auth
# Finish a feature (merges back to develop)
git flow feature finish user-auth
# Create a release
git flow release start v1.2.0
git flow release finish v1.2.0GitFlow requires tooling or discipline to follow correctly. For simpler workflows, consider GitHub Flow or Trunk-Based Development.
Branch, GitHub Flow, Trunk-Based Development, Git, Merge
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro