GitLab Flow is an agile, issue-centric Git workflow that simplifies development by centering on Merge Requests (MRs).
It maintains a single, stable main branch for production-ready code, avoiding the complexity of multi-branch models like GitFlow. Developers use short-lived feature branches for all work, integrating changes back into main only after review and approval via an MR.
This structure provides a streamlined path for version control, continuous integration, and Continuous Delivery (CD).
production (Root Branch): This is the ultimate source of truth; the only branch that deploys to the production environment.main: The primary integration branch where all new features are initially merged. It acts as the source for the staging environment.staging: This branch acts as the final gate, deploying to a non-production environment that closely mimics the live setup. It is always updated from main before being promoted to production.feature/*: Used for all new functionality. hotfix/*: Reserved for urgent, production-breaking fixes.git-flow-nextEasily integrate new commits from your parent branch into your feature branch by simply typing git flow next update ✌️
For more visual assistance, take a look at Tower, our native Git client for both Mac and Windows.
Tower allows you to set up any workflow configuration with just a few clicks, along with other advanced features such as: