Feature Branch Workflow

The simplest git workflow where each new feature is developed in its own branch and merged back to the main branch when complete.

Complexity: Low Team Size: Small Release: Continuous
Learn More

Gitflow Workflow

A rigorous branching model for projects with scheduled releases and multiple parallel development streams. Created by Vincent Driessen in 2010. Note: Driessen added a caveat in 2020 recommending simpler workflows for teams practicing continuous delivery.

Complexity: High Team Size: Large Release: Scheduled
Learn More

GitHub Flow

A lightweight workflow optimized for continuous deployment where main is always deployable and features are developed on short-lived branches and deployed via pull requests. Created and documented by Scott Chacon at GitHub in 2011.

Complexity: Low Team Size: Any Release: Continuous
Learn More

GitLab Flow

A workflow where code flows in one direction through environment branches toward production. Features merge to main (integration), which deploys to staging, then to production — never backwards.

Complexity: Medium Team Size: Medium Release: Env-based
Learn More

Release Branch Workflow

A workflow using dedicated release branches to stabilize and prepare versions before merging to main. Structurally a simplified Gitflow — it removes the strict feature/* and hotfix/* branch types while keeping the develop/release/main structure. Microsoft's Azure DevOps team calls their variant "Release Flow".

Complexity: Medium Team Size: Medium Release: Scheduled
Learn More

Trunk-Based Development

A source-control branching model where developers collaborate on code in a single branch (the trunk), using feature flags to safely ship code to production without merging long-lived feature branches.

Complexity: Medium Team Size: Large Release: Continuous
Learn More