Git clients
Lets face it, version control is a vital part of the software development process. However a software project involves individuals doing all types of things from management to creating beautiful style sheets. You being one of these individuals, might not be well versed with working in the terminal or you might just like to work with GUI based apps. Dont fret because this post gives you 2 beautiful alternatives that will allow you to interface with and grow to appreciate a superb version control system…Git.
Before we start, if you are in the process of choosing a version control system for a new project you should look at using Git. Its one of the best out there.
The clients I will be overviewing are:
Presentation:
Both clients have very neat and simple UIs. All most frequently used Git functionality is very easily accessible on the main screen in both cases.
SmartGit:

Tower:

Commit History:
Tower has the upper hand here, commit history is well summarized on a per user bases. The commit comment, files modified, time and branch are all included. And if your one who likes to associate a user with a profile picture, Tower gives you that as well. SmartGit on the other hand has a rather bland presentation for history but does give you all the information you need.
Tower:

SmartGit:

File Diffs
One of the most frequent operations you will be doing when using a VCS is diff’ing files. This is where using a GUI based app can be very helpful as well. Both SmartGit and Tower do diffs very well, however provide slightly different mechanisms to do so. Its purely personal preference on which one method you prefer.
SmartGit: Uses a side by side view to show you diffs between versions of the same file.

Tower: Uses a inline view to show you diffs between versions of the same file.

Tools and Services:
Tower has the upper hand here as it integrates with more services than SmartGit: GitHub, Beanstalk and Kaleidoscope being just some of them. SmartGit integrates with GitHub.
OS:
SmartGit works with Windows, MacOS and Linux. Tower however is a Mac only client.
Summary:
Which one should you use? In the end it comes down to the OS platform you need support for and the services you need to integrate with. Other than those two factors both these clients are on par and work very well. High res images for the screenshots if you need them.