DEV Community

Cover image for Branch Pinning and Auto-Archiving in Tower 13 for Windows
Bruno Brito
Bruno Brito

Posted on • Originally published at git-tower.com

Branch Pinning and Auto-Archiving in Tower 13 for Windows

If you've worked on a repo for more than a few months, you know the feeling: you open your branch list and it's a graveyard. Half of them were merged weeks ago, a few are stale experiments you forgot about, and somewhere in there is the one branch you actually care about — buried.

Tower 13 for Windows ships two features aimed squarely at this problem: Branch Pinning and Automatic Branch Management. Both already existed on the Mac side (Pinning since Tower 8, Auto Branch Management since Tower 15), and they've now made it to Windows.

Branch Pinning

Right-click any branch and pin it. Pinned branches move into their own "Pinned" section at the top of the sidebar, so the ones you actually care about are always one click away.

Branch Pinning

A few details that make it less annoying in practice:

  • You can pin/unpin several branches at once instead of one at a time.
  • Pinned branches are exempt from auto-archiving — pinning something protects it.
  • Pins live in your Git config, so they persist and don't quietly disappear.

Knowing what's safe to delete

Before Tower can help you clean up, it needs to tell you what's actually safe to remove. That's what the new "Fully Merged" and "Stale" badges are for.

Stale and Fully Merged Branches labels

A branch counts as "Fully Merged" when both are true: every commit is integrated into its parent, and the remote branch it was tracking has been deleted (i.e., the classic "PR merged, remote branch gone, local copy still hanging around" situation). Select a flagged branch and you get a hint view with a one-click delete.

Automatic Branch Management

This is the part that actually keeps the sidebar clean over time. There's now an "Archived Branches" view — branches land there either manually (drag-and-drop or context menu) or automatically, based on a stale-interval you configure yourself.

Automatic Branch Management

If you'd rather review before anything happens, clicking the notification counter in the footer opens an "Archive Branches" dialog so you can confirm in bulk. Branches can be unarchived at any time, and you can flag individual branches with "Skips Auto-Archiving" if you want to keep something around without formally pinning it.

The plain-git equivalent

If you're not using a GUI, this is roughly what Tower is automating for you:

# see which local branches are already merged into main
git branch --merged main

# prune local refs to branches deleted on the remote
git fetch --prune

# delete a merged branch
git branch -d branch-name
Enter fullscreen mode Exit fullscreen mode

The difference is Tower does this continuously and shows you the state at a glance instead of you remembering to run it.


Full release notes (including the .NET 10 runtime bump and a handful of diff-view/submodule fixes) are on the Tower blog.

Curious how others handle this — do you clean up branches manually, have a cron/alias for it, or just let them pile up until it's unbearable?

Top comments (0)