Recently, I have been playing around with Git clients to try to improve my productivity. Here’s a quick rundown on my experience with two Git clients: Tower and SourceTree. I spent 30 days with each client to fully familiarize and evaluate the products.
Before my review, I’d like to rant a little bit about using Git clients:
Using a Git client should not be a way to avoid learning Git via command line; it should be a tool to improve your productivity. Having said that, using a Git client is a great starting point for learning the basic concepts of Git.
It is essential to know your way around Git via command line, as sometimes you may not have the luxury of having a client around. Sometimes doing things via command line is quicker than clicking around on a client. Also sometimes what you trying to do may not exist in a particular client, but can be done via command line.
During my time with each client, there wasn’t a need to open up the command line, so both clients fulfilled my Git needs. Therefore, I couldn’t pick one over the other solely based on functionality.
At initial launch of the apps I noticed that Tower’s UI is slightly more polished than SourceTree. The design geek/superficial side of me has picked Tower as the clear usability winner already, but that would be rash decision.
As I continued using the clients, Tower’s more minimal/less cluttered design proved to be more favorable. My initial judgement became my final decision, but at least I gave SourceTree a somewhat fair shot.
The major, and in my opinion, most important difference between the apps is price:
- Tower: $59
- SourceTree: FREE
Clearly, SourceTree wins when it comes to pricing.
I decided to use SourceTree as my Git client, simply because I cannot justify paying $59 for an app that just looks nicer. Both clients are awesome tools for being able to see all of your Git things like branches, tags, remotes, and stashes all on the same screen.
In the end, I still sometimes use Git via command line. Typically, it’s when I’m already doing something in Terminal and don’t feel like switching windows, when I need to do something extremely specific that the SourceTree doesn’t support, or those times when I just want to feel like a coding ninja.