Tower: The Ultimate Git Client I've Settled on After Over 10 Years of Use
Table of Contents
Hello. Today, I would like to introduce "Tower," a Git client I have been using for nearly 10 years.
If you are a developer using Git, you have likely faced the dilemma of "whether to use a GUI client or stick with the CLI" at least once. I have tried various tools over the years, but the one I ultimately settled on was Tower.
My Git Client History
First, let me tell you about the tools I went through before settling on Tower.
- CLI - Initially, I was typing commands in the terminal
- SourceTree - I used this for a while because it was free and feature-rich
- GitHub Desktop - I liked its simple integration with GitHub
- GitKraken - I liked its modern UI for a period of time
- Fork - Its lightweight and fast performance was appealing
All of them are good tools. Each has its own strengths and can be very effective depending on how you use them.
But in the end, I always come back to Tower. Why is that?
What is Tower?
Tower is a Git client compatible with macOS and Windows. It is used by over 100,000 developers and designers worldwide and claims to be the "most powerful Git client."
While it is a paid subscription service, I believe it is well worth the value.
The Great Things About Tower
1. Undo Anything with ⌘+Z
It is no exaggeration to say that this is Tower's greatest appeal.
With Git operations, some things can be difficult to undo once you've done them. Have you ever experienced saying, "Oh, I committed by mistake" or "I accidentally discarded my changes"?
In Tower, you can easily undo such operations with ⌘+Z (CTRL+Z on Windows). From commits and merges to deleting stashes, you can Undo with the same feeling as a regular application.
I can almost hear people saying, "Why not just use reflog?", but honestly, it can't compete with the peace of mind of being able to go back with a single ⌘+Z. This alone is a reason to choose Tower.
2. Perform Complex Operations via Drag & Drop
Complex operations such as merging, cherry-picking, and interactive rebasing can be performed intuitively via drag and drop.
Reordering commits or squashing them is also just a matter of dragging with your mouse. Operations that are quite tedious to do via CLI are completed visually in an instant.
3. Integration with GitHub, GitLab, and Bitbucket
Tower integrates seamlessly with major code hosting services.
- GitHub
- GitLab
- Azure DevOps
- Bitbucket
- Gitea (Supported from version 9.1)
In addition to cloning repositories, you can manage pull requests entirely within Tower. Not having to open your browser every time is a subtle but welcome point.
4. Support for Stacked Branches
This is a feature added in recent versions: support for "Stacked Branches."
This feature allows you to rebase branches collectively in one action when a branch depends on another branch (is stacked). It is an extremely convenient feature for teams that adopt workflows involving multiple related branches.
5. Git Worktree Support
Git Worktree, which is useful when you want to handle multiple branches simultaneously, can also be quickly created and managed from Tower.
6. Refined UI
After using it for nearly 10 years, I feel that Tower's UI is truly easy to use. Necessary information is properly organized, so you never get lost.
Theme customization is also extensive, and recently, syntax coloring has been supported, making diffs even easier to read.
7. Ideal for Team Development
Tower allows teams with members of varying skill levels to share and manage code effectively. Even members unfamiliar with complex Git operations can work smoothly using Tower's GUI, leading to improved productivity for the entire team.
Honest Disadvantages
I've written a lot of good things, but I'll also share some honest disadvantages.
It is Paid
Tower is paid software on a subscription basis. With many free Git clients available, some people may be reluctant to pay money.
However, since it's a tool I use every day, I believe it pays for itself in terms of productivity improvement.
Not Compatible with Linux
It only supports macOS and Windows, and unfortunately, there is no Linux version. Those who primarily use Linux will need to consider other options.
Can Become Slightly Heavy in Large Projects
When handling massive repositories, the UI update can sometimes become a bit slow. However, I have never noticed this in the scale of projects I usually handle.
Why I Settled on Tower
After trying various tools, why did I settle on Tower?
It comes down to "peace of mind."
The peace of mind of being able to undo anything with ⌘+Z.
The peace of mind of being able to perform complex Git operations with intuitive actions.
The peace of mind of it being continuously updated for over 10 years.
Git is a powerful tool, but the damage when you make a mistake is correspondingly large. Using Tower gives me the mental leeway of knowing "I can quickly go back if something happens," so I've become able to perform bold operations.
Summary
Choosing a Git client is an important choice for a developer. After all, it's something you use every day.
As a result of trying various tools over nearly 10 years, I arrived at Tower. While it is paid, I believe it is well worth the value.
There is a 30-day free trial, so if you haven't used it yet, please give it a try. I'm sure you won't be able to let it go.