GitLab icon GitLab Flow

Instantly configure the popular GitLab Flow branch structure:

  • "production" branch as the "Trunk"
  • "feature" and "hotfix" branches for all new development
  • "main" and "staging" branches for more complex releases

Start and integrate new features or fixes through a predictable, CI/CD-optimized workflow. Tower makes Merge Requests simple, ensuring your branches stay in sync and proactively warning you of potential merge conflicts.

Take absolute control over your GitLab Flow implementation with Tower Workflows!

GitLab Flow in Tower Workflows

Tower Workflows with GitLab Flow

Getting up and running is simple!

Tower Workflows - Workflow picker with GitLab Flow highlighted

Step 1: Choose the GitLab Flow Preset

Select the "GitLab Flow" preset to configure Tower with the trunk, base, and topic branches of this workflow.

Step 2: Customize it!

Start with the GitLab Flow preset, then tailor everything to your team's exact needs.

Tower Workflows lets you fine-tune every aspect of your branching process:

  • Add and remove Base and Topic branches.
  • Keep branches updated by defining their parent.
  • Define upstream/downstream merge strategies.
  • Enable or disable merge commit creation.
  • Enable or disable tag creation when integrating changes.

Tower Workflows – Choosing the Downstream Merge Strategy for GitLab Flow
Tower Workflows - Finish GitLab Flow Feature

Step 3: Begin and Finalize Your Task

To begin, click the "Start..." option. This instantly creates and checks out a dedicated feature branch for your work.

When complete, click "Finish..." to integrate your changes. Upon a successful merge, your local branch will be automatically deleted.

Try Tower Workflows Today

Download the trial and start designing the perfect branching workflow for your project.

Keeping Branches in Sync

With the parent branch set up, Tower can easily notify you whenever it's time to update your topic branch and inform you if any merge conflicts will occur during the process.

What is GitLab Flow?

GitLab Flow is a branching strategy that combines feature-driven development and feature branches with issue tracking and Continuous Integration/Continuous Delivery (CI/CD).

Developers create short-lived feature branches off the main branch, and once complete, they submit a Merge Request (MR).

Unlike GitHub Flow, it offers flexibility by optionally including environment branches (like staging or production) or release branches to manage deployments and stable versions.

Why use GitLab Flow?

  1. Enhanced Traceability: It tightly integrates the code workflow with issue tracking, ensuring every code change is directly linked to a business goal or bug fix via a Merge Request.
  2. Structured Testing: By using environment branches (e.g., main → staging → production), changes flow downstream, ensuring code is fully tested in each environment before being deployed to the next.
  3. Simplified Versioning: It provides a clear, managed way to handle both Continuous Delivery (by merging to environment branches) and Versioned Releases (by creating specific release branches for maintenance), reducing the complexity found in GitFlow.

More Control, One Update at a Time

Stacked Illustration

Here are some other features we're looking forward to shipping later in the year:

  • Use Tower Workflows actions to streamline repetitive tasks.
  • Access and manage only the branches you are actively working on.
  • Organize your branches with smart filters or by manually arranging them in order.
  • Share and sync workflows with your entire team, as well as commit templates, commit guidelines, branch naming conventions, and hook script configurations.

Try Tower Workflows Today

Download the trial and start designing the perfect branching workflow for your project.

Your trial is downloading…

Try Tower "Pro" for 30 days without limitations!

Updates, Courses & Content via Email

Try Tower for Free

Sign up below and use Tower "Pro" for 30 days without limitations!