Stacked Illustration Stacked PRs

More and more teams are adopting the Stacking Workflow. Soon, you will be able to work with stacked branches directly within Tower, allowing you to easily restack or fold branches and create or update Pull Requests.

And that's not all! You will also have the ability to create and customize your own unique branching workflows.

With Tower Workflows, you're in control!

This feature is currently under development.

Tower Workflows — Restack
Stacked Illustration

What are Stacked Pull Requests?

Developers work directly on the main branch and rely on feature flags to hide incomplete features. Instead of merging each individual feature branch directly into the main branch, a series of pull requests are created that build upon each other (hence the term "stacked").

Why use Stacked PRs?

  1. Reduce conflicts in code: By working closer to the main branch, the number and complexity of merge conflicts are minimized.
  2. Review, merge, and ship faster: Keeping changes small accelerates the process, in addition to reducing the occurrence of merge conflicts.

Tower Workflows will allow you to

Stacked PRs — User Management

Create stacked branches and keep their respective Pull Requests in sync.

Stacked PRs — User Management

Easily restack branches if there are changes to a parent branch in the stack.

Stacked PRs — User Management

Share your stacked branches with team members for easy collaboration.

Stacked PRs — User Management

Undo various operations with a simple keyboard shortcut (CMD+Z).

A Glimpse of What's Coming

Stacked Branches: Your Secret Weapon!

Stacked PRs - Branches

Branching Features

  • View a branch's associated Pull Request.
  • Submit pending changes to a Pull Request.
  • Merge a branch and its parents into the base branch.
  • Fold a stacked branch into any of its parent branches.
  • Rearrange or merge different sections of your stack with drag and drop.
  • Easily identify which branches require restacking and update them accordingly.
  • Group branches by stack in the sidebar to see dependencies between branches.

Working Copy

  • Easily restack the current branch.
  • Submit pending changes to Pull Requests.
  • Create a new stacked branch based on the current changes in your Working Copy.
  • Seamlessly switch between your stack branches without the need to stash changes (supported by git-worktree or auto-stash).
Stacked PRs - Working Copy

Sounds interesting?
Sign up for the Beta.

We'll let you know when it's ready!

Not a fan of Stacked PRs? No problem!

Pick one of the other available tried-and-tested workflows, tweak them, or create your own workflow from scratch!

  • Gitflow

    Git-Flow

  • GitHub Flow

    GitHub Flow

  • Custom Workflow

    Your own

What is Git-Flow?

The Git-Flow model typically consists of two main branches - "main" and "develop" - along with supporting branches for features, releases, and hotfixes. The "develop" branch serves as the main integration branch for ongoing development work.

Best for large teams working on multiple releases in parallel or following a strict versioning scheme.

Tower Workflows will allow you to:

  • Modify the standard Git-Flow workflow to meet your needs, while making sure that the process of starting and completing topic branches remains simple.
  • Undo all Git-Flow actions.

What is GitHub Flow?

A new branch is created for each new feature or task. Once the work is complete, a Pull Request is submitted for review, and if approved, the changes can be merged back into the main branch.

Best for teams who want a simple and straight forward workflow.

Tower Workflows will allow you to:

  • Enhance your GitHub workflow by defining different topic branches (e.g. "feature" and "bugfix") with their own ref prefixes, default base branch, and merge behaviors.
  • Recognize stacked branches and access all restacking features, even if you are not strictly following the Stacked PR workflow.
  • Rebase or merge the base branch when your feature branch is behind (and inform you if there are conflicts!).
  • Compare your feature branch to your base branch and only see your work on your feature branch.

Create your own Custom Workflow

Are you an advanced Git user? Build your own Custom Workflow from scratch. You can also use any other popular Branching Workflow as a starting point and tweak it to your liking.

Best for teams with unique needs.

Tower Workflows will allow you to:

  • Freely customize your branching workflow by configuring your base branches and topic branches that can be merged back into multiple branches or create a tag when finished.
  • Branch dependencies allow you to use restacking features and automatically notify you of topic branches that are behind.
  • Share it within your team to ensure everyone follows the same conventions.

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.

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!