Skip to content
  • Florian 
  • 4 min read

Our Favorite Tower Features

In this article, we’ll share a few of Tower’s features that our team members love the most. Here’s what the Kaleidoscope engineers told us. If you haven’t seen our article on how Kaleidoscope and Tower make the perfect Git setup, you may want to start with that.

Drag & Drop

Michael: While Drag & Drop is something you come to expect in any decent Mac app, it’s not entirely obvious with version control handling, Git in particular. Being able to track branches by dropping the remote onto the Branches header, or being able to cherrypick a commit from one branch to another via Drag & Drop is pure bliss, compared to remembering lengthy command line commands. Once you accept that it works, you’ll intuitively use Drag & Drop, and it will do what you intended to do.

A few of the many ways Drag & Drop work in Tower. We really love the elegance of cherry-picking by dragging a commit onto a different branch.


Michael: For command line users this may seem like a weird concept, and it feels a bit frightening initially, but indeed it works. Tower adds Undo to Git. Accidentally merged the wrong branch? Tried to amend a commit after pushing? No problem, just hit ⌘Z and your problem is solved. I didn’t dare to try it until I once accidentally merged the wrong two branches and was confronted with a huge mess. Rest assured: it truly works and it feels like magic!

A simple showcase of Undo. First we commit several changes, then select Edit > Undo to find everything back in the previous situation. Amazing!


Christopher: We are always dealing with multiple repositories for our products, including several web sites. Of course, everything is version controlled, mostly using Git. One thing that is typically not fun is switching between different repositories, as it involves a few clicks and picking from a list. But that can easily be solved by using window tabs: just open all the repositories you need to access regularly in their own tabs, and you will have all your work accessible at all times, just one click away. It sounds simple, but is really helpful.

Window tabs help us speeding up our development workflow by letting us keep multiple repositories open at the same time.

Commands in Commit

Christopher: How exactly are you supposed to spell “fixup!”? What’s the syntax to resolve a ticket in a commit? Help is just one keystroke away. Type a forward-slash in either of the commit fields to get a list of commands to choose from. Very handy!

Immediate access to commands is a true time-saver.

Compare the current working copy

Florian: When working on something, I make changes to files in the project, as one does. To the dismay of my teammates, I tend to be a little bit chaotic at times, making more changes than necessary, fixing a separate bug, making some visual changes, or doing some cleanup along the way. I might forget to roll back some debugging code I added in a class, all unrelated to the task at hand. This is where Tower comes in really handy. I can compare all changes of the current working copy with the last commit, by selecting Repository > Open Diff Tool or type ⇧⌘D. A new Kaleidoscope window showing all current changes compared to the last commit, staged or not and I can  quickly see if I am ready to commit my changes. Because this is operating on the working copy on one side, I can still make changes, such as reverting blocks that should not go into the next commit. See that feature in action in our Kaleidoscope + Tower: the perfect Git setup post.

We could go on for hours, but these are a few of the features that make our daily work with Git more enjoyable. Did we miss your favorite Tower feature? Let us know! We love to improve our workflows!