Details
-
A lightweight, branch-based workflow where
mainis always deployable -
Feature branches are short-lived, created from
mainfor every change -
Pull Requests are the central collaboration mechanism — used for code review, discussion, and CI validation before merging
-
Merging to
maintriggers immediate deployment (continuous delivery) -
Branch naming reflects the work: issue number or short descriptive slug
- Workflow steps
-
-
Create a branch from
main(named after the issue or feature) -
Commit changes with descriptive messages
-
Open a Pull Request early for visibility and feedback
-
Discuss, review, and iterate until the PR is approved
-
Merge to
main—mainis always in a deployable state -
Deploy immediately after merge
-
- Key Proponent
-
Scott Chacon ("GitHub Flow", 2011)
-
Teams practicing continuous delivery or continuous deployment
-
Projects where
mainmust always be production-ready -
Issue-driven or ticket-driven development workflows
-
Agentic coding workflows where context brevity matters