Recs.
Updated
SmartGit is very handy at viewing diffs, logs, history and deleting/staging working copy files.
SpecsUpdate
Pros
Pro Clean 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 pull
, push
, sync
, commit
and merge
are always available on top.
Pro Great overview of the project/repository's log
SmartGit's log viewer displays the full commit history in a clean UI. This can be filtered to only show commits matching a certain criterion (e.g. branch).
Pro Can be integrated with Github, Bitbucket, GitLab, 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.
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 Runs repository diagnostics in the background
SmartGit regularly runs repository/config diagnostics in the background to ensure smooth operation and high performance. It prompts user with warnings and suggestions on how to improve configuration and often provides a one-click auto-fix. For example, it will warn you when repository needs cleaning-up, when sub-modules are not properly initialized, or when its auto-rename-detection feature is too intensive because of too many untracked files.
Pro Free for non-commercial use (with some restrictions)
SmartGit can be used free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage. However, some features are only available with paid versions, like JIRA/GitHub Entreprise/Bitbucket integration, distributed review, DeepGit.
Cons
Con Auto clean up consumes a lot of resources
Leaving SmartGit idle for some time will start project clean up, consuming a lot of PC processing power, making it completely unusable until it finishes. It can be disabled from the options menu, but should be disabled by default.
Con Handling of git repository security tokens & credentials
The handling of git repository security tokens & credentials is bad: one usually has to ask google, read discussions and then start to use try & error to get working access.
You would expect much more from software that calls itself smart.
Con The top 5-10 git Use Cases are not intuitive without knowing git
SmartGit fails to abstract git in a way that makes it easy / intuitive to use. For software that calls itself smart, you would expect someone who has worked with any version of control software for years to get up to speed quickly with SmartGit - without studying the Git Manual.
Recommendations
Comments
Flagged Pros + Cons
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 pull
, push
, sync
, commit
and merge
are always available on top.
Pro Portable version for Windows is available
SmartGit also has a portable bundle that can be downloaded and can be run from external devices (such as a flash drive for example) or to test-drive without leaving traces on the machine after removing.
Pro Supports GitFlow
GitFlow provides a consistent development process by defining a strict branching model that is great for managing large projects. SmartGit allows for setting up and integrating into repos that follow this model.
Pro Supports Git, Mercurial, and SVN
SmartGit/Hg supports Git and Mercurial, as well as SVN via Git bridge.
Pro Free for non-commercial use
SmartGit can be used free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage.
Out of Date Pros + Cons
Con External log window
A "Journal" view is available in the main window, though, and focuses on the current branch (incl. remote branch) and one additional ("auxiliary") branch.
Con Irritating starting screen
Start Screen gets on top of all and every window open until SmartGit opens up, which takes some time.