SmartGit is very handy at viewing diffs, logs, history and deleting/staging working copy files.
Pro Uncluttered UI
SmartGit has a rather clean and uncluttered user interface. All the most useful tools and information are displayed at all times or are otherwise just a couple of clicks away.
All repositories are displayed in the sidebar and through a tabbed interface you can view various info about a specific repository (files, branches, branch graph, etc). The most used git commands like
merge are always available on top.
Pro Smart embedded difference viewer
When the changes affect only a few characters in a line of code, the embedded difference viewers in the majority of competitors (such as SourceTree) show the whole line as removed and re-added. SmartGit highlights the characters that have been removed / added, so they are easier to read.
Pro Supports Git Flow
It Provides high-level repository operations for Vincent Driessen's branching model. http://nvie.com/posts/a-successful-git-branching-model/
Pro Can be integrated with Github, Bitbucket, and Atlassian Stash
Using OAuth, you can connect SmartGit with your accounts in Github, Bitbucket, or Stash and access the remote repositories there. You can then clone, fork, commit or push to your remote repositories from inside SmartGit. You can also view and manage pull requests for your open source projects from SmartGit.
Con For commercial use a license has to be purchased
You are allowed to use SmartGit free of charge for several purposes (e.g. for hobby use, education, as Open Source developer, "by public charitable organizations primarily targeting philanthropy, health research, education or social well-being"), every other usage requires to buy a license.