Tower 14 for Mac is now in beta! This update allows you to create custom Git workflows, enabling you to define and enforce the exact workflow that meets your project's needs.
We have spoken with many teams and learned that most struggle to develop their own ideal Git workflows. As a result, they often end up adapting generic solutions or creating systems that are difficult for everyone to follow.
If that resonates with you, you will definitely love this release! Tower 14 for Mac puts you in the driver's seat, allowing you to define trunk, base, and topic branches, as well as set merge strategies and various other options.
Think of this as creating your own system β such as git-flow
β but with limitless possibilities! π
βοΈ Tower 14 is currently in Beta. To try it out, simply change the Release Channel to "Beta" under Settings > Updates in the Tower for Mac application.
We're incredibly excited about the power and flexibility that Custom Git Workflows bring to Tower for Mac. As this feature is currently in beta, we invite you to join us in shaping its future by letting us know what you think!
All right, let's take a look at what's new β but first, let's recap why you should consider using a Git workflow if you don't have one already.
Why Workflows Matter
It is important to standardize your branching and merging practices so that you can create a predictable development environment. We feel this is key for a productive, enjoyable experience with Git, especially when collaborating with teams!
This standardization and predictability offer many advantages.
- Every team member can easily understand the repository's state and the purpose of each branch if you use clear naming conventions and well-defined merge behaviors.
- New colleagues can quickly grasp the project's specific Git conventions, leading to quicker onboarding.
- The entire team will become less prone to errors.
Workflows can (and should!) be automated, making this process even more beneficial to everyone β and this is exactly where Tower 14 comes in.
Setting Up a Custom Git Workflow
The heart of Custom Git Workflows lies in its flexibility. You can create a workflow tailored to your project, team size, and development methodology. They can be as simple or complex as you'd like!
The magic begins by clicking on the "Workflows" icon, now conveniently located on the left-hand side next to the "Services" and "Bookmarks" views.

Here, you can set your preferred workflow by choosing from the following options:
- Predefined workflows, such as
git-flow
or GitHub/GitLab Flow. - Other workflows like Graphite or GitFlow CLI.
- The option to create any custom Git workflow you can imagine from scratch.
If your project already has a workflow in place, Tower will attempt to auto-detect it based on the existing branches.

To understand the power of this feature, let's explore an existing workflow β we will use git-flow
β and break down the extensive customization options available in Tower Workflows.

Look at all those options! Let's explore what they can do.
The first step is to define your core branches, i.e., your "trunk" (e.g., main
, master
) and "base" (e.g., develop
, dev
) branches so that you can establish the foundational structure of your repository.
βοΈ If you want to learn more about "trunk", "base", and "topic" branches, we recommend reading this article.
Afterwards, you should define your "topic" branch types (e.g., feature
, hotfix
, release
). For each topic branch type, you can set specific branch prefixes (e.g., feature/
, hotfix/
). This clarifies intent and ensures consistency across your team and can be used for automated checks and organization.
In the example below, we've added bugfix
to our Workflow, which is not part of git-flow
by default β a prime example of the customizability of this feature.

Next, you can take full control of how changes flow through your branches. You can now define distinct downstream merge strategies (merging the parent into your topic branch to keep it up to date) and upstream merge strategies (merging a branch into its parent to finalize topic branches).
Whether you prefer merge, rebase, or squash, Tower 14 lets you dictate the exact behavior for each merge scenario.

When merging upstream, you can also create a tag, which can be useful for releases or significant milestones. This makes sure critical points in your project's history are always marked.
Finally, you have the option to create a merge commit when integrating branches, ensuring a complete and traceable record of all integrations. For those who prefer a cleaner, linear history, you can opt out.

Starting and Finishing a Feature/Hotfix/β¦
Once your workflow is configured, you can easily get started with your work by clicking the "Workflows" button and choosing the appropriate option.

Once the task is complete, you can either click the "Workflows" button again to finish the feature, or access the branch's context menu by right-clicking the mouse.

Updating Branches
While you are working on a new feature, it's normal for the parent branch to receive new commits from other team members. To minimize the chance of encountering merge conflicts, you should integrate those changes frequently.
We have good news here: this is very easy when using Tower βοΈ
Since Tower establishes a parent/child relationship between branches, you will see a yellow banner reminding you that you should update your child branches since there have been updates to the parent branch.
This feature is extremely useful for smoothly integrating your changes when you finish working on a feature or bug fix, so we recommend that you update your child branches often!

In the update process, Tower will always inform you if there are any merge conflicts that need to be resolved.

TIP: Don't forget to establish dependencies between branches so that child branches receive updates from their parent branches when changes occur. You can right-click any branch at any time and set a different "Upstream" or "Parent Branch" to track.

Other Improvements
As usual, we have also taken the time to make some other enhancements behind the scenes.
Here is the list of improvements and bugs that we have worked on:
- You can now use Stacked Branches with any Tower Workflow without the need to choose it as dedicated workflow.
We hope you enjoy this release! Happy committing! π
Not a Tower user yet? Download our 30-day free trial and experience a better way to work with Git!
PS: Did you know? Tower Pro is now free for students as well as teachers and educational institutions!