After introducing Custom Git Workflows in Tower 14 for Mac, we're excited to bring this powerful feature to Windows! With Tower 12, currently in Beta, you can design a branching and merging strategy that fits your team's needs β whether that's a well-known model like git-flow or something entirely your own.
If you've ever joined a project and wondered "wait, where do I branch off from?" or "should I rebase or merge here?", you know the pain of unclear Git conventions. Most teams struggle with this: they either adopt a generic workflow that doesn't quite fit, or build ad-hoc rules that are hard to remember and even harder to enforce.
Tower 12 for Windows tackles this problem head-on by letting you define, customize, and automate your Git workflow directly in the app. Think of it as building your own git-flow β except you're not limited to someone else's conventions π
βοΈ Tower 12 for Windows is currently in Beta. To try it out, simply change the Release Channel to "Beta" under Settings > Updates in the Tower for Windows application.
Let's see how it works!
The Case for a Well-Defined Workflow
Before we dive into the feature itself, it's worth asking: why bother with a formalized workflow at all?
In our experience talking to development teams, the benefits come down to three things:
- Clarity β When branches follow predictable naming conventions and merge behaviors, anyone on the team can look at the repository and immediately understand what's going on.
- Onboarding β New team members can get up to speed much faster when the project's Git conventions are explicit rather than tribal knowledge.
- Fewer mistakes β Standardized rules mean fewer accidental merges to the wrong branch or forgotten rebases.
The best part? Once you've defined your workflow in Tower, these rules aren't just documentation β they become actionable. Tower guides you through each step, so the entire team stays on the same page.
Configuring Your Workflow
To get started, click the "Workflows" icon on the left-hand side of the toolbar, next to the "Services" and "Bookmarks" views.

Tower offers you several starting points:
- The original
GitFlowand ourCustom git-flowimplementation, which does not require any external tools. - Well-known workflows such as
GitHub FlowandGitLab Flow. - The
Graphiteworkflow, which is useful when working with stacked branches.

To see the full extent of what's possible, let's walk through how Custom git-flow looks in Tower's workflow editor β and how you can tweak it to your liking.

There's a lot here, so let's break it down.
Trunk and Base Branches
Every workflow starts with its core branches. You'll define your "trunk" (typically main or master) and your "base" branch (e.g., develop or dev). These form the backbone of your repository's structure.
βοΈ Not sure what "trunk", "base", and "topic" branches mean? We have a dedicated article that explains these concepts in detail.
Topic Branches
Next, you'll set up your "topic" branch types β things like feature, hotfix, and release. For each type, you can define a naming prefix (e.g., feature/, hotfix/) to keep everything organized and consistent.
With Custom Workflows, you can go beyond the defaults and model exactly what your team needs. Here's a nice example of the flexibility: we've added a docs type to our workflow, which isn't part of this git-flow model.

Merge Strategies
This is where things get really interesting. Tower 12 lets you define separate merge strategies for two scenarios:
- Downstream (keeping a topic branch up to date with its parent)
- Upstream (integrating a topic branch back into its parent)
Whether your team prefers merge, rebase, or squash β you can set the exact behavior for each direction.

You also get control over two important details: whether to create a tag when merging upstream (great for releases and milestones) and whether to create a merge commit or keep a linear history.
Working with Your Workflow
Once everything is configured, Tower integrates the workflow into your daily routine. Starting a new feature, hotfix, or any other topic branch is just a click away via the "Workflows" button.

When you're done, you can finish the branch through the same button or by right-clicking the branch in the sidebar.

Keeping Your Branch Up to Date
One of the most practical aspects of Custom Workflows is how Tower handles branch updates. While you're working on a feature, the parent branch will inevitably receive new commits from your teammates. Integrating those changes regularly is the best way to avoid painful merge conflicts down the road.
Tower makes this effortless. Whenever the parent branch has new commits, you'll see a banner prompting you to update your branch. We strongly recommend doing this often β your future self will thank you!

If any merge conflicts arise during the update, Tower will let you know right away.

The "Update branch" dialog also provides a clear overview of any conflicts that need your attention.

TIP: You can right-click any branch at any time to change its "Upstream" or "Parent Branch". This is especially useful when you need to reorganize branch dependencies on the fly.

Improvements and Bug Fixes
As is tradition, we've also made some additional smaller improvements:
- File History: The File History view now shows changes for the selected file only, rather than the full commit changeset.
- Toolbar: The toolbar layout has been rearranged to match Tower for Mac, providing a more consistent experience across platforms.
- Working Copy: New "Copy File Path" and "Copy Relative Path" options are now available in the context menus across the Working Tree, Changeset, and Tree views.
We also fixed some bugs! Here is what we addressed:
- Toolbar: Fixed an issue where toolbar buttons remained clickable behind modal dialogs.
- Staging: Fixed a crash that could occur when staging a large number of files with long paths.
- Submodules: Fixed a crash that could occur when a submodule has no "origin" remote configured.
- Reveal in Explorer: Fixed "Reveal in Explorer" incorrectly opening the file instead of showing it in Explorer.
- Rebase: Fixed an issue where the Rebase toolbar button would silently do nothing when a local branch was selected in the sidebar.
We hope you enjoy Tower 12 for Windows! 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!