Git-flow provides a consistent development process by defining a strict branching model that is great for managing large projects. SmartGit/Hg allows for setting up and integrating into repos that follow this model.
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.
Leaving SmartGit idle for some time will launch project clean-up, which uses a lot of PC processing power, making it completely unusable until it finishes. This can be disabled from the options menu, but should have been disabled by default.
Instead of using HTTPS and authenticating every time they are pushing their code remotely, plenty of developers prefer to use SSH to communicate with the remote server and authenticate using secure key pairs.
GitExtensions typically displays all commands that it carries out in a separate window. The user can also open the Gitcommand log (under Tools) and view the git commands as they interact with the program.
Once installed, Sourcetree will automatically try to look for and set up repos that are worked on. Sourcetree will also detect if git-flow is used and what is the current development state as long as default git-flow branch names are used. The software tracks all relevant repositories in the book...
Some operations can be slow. If you know what you want (e.g you want to touch a file, add it, commit it, and push it) you can do it much faster on the command line. However you're often not going to know what you want, so the visual diffs (for example) help massively.
Since TortoiseGit uses a lot of combinations of different Git commands under the hood to perform even the most basic actions, it's difficult to determine what exactly went wrong in the event of an error.
Git for Windows includes a command-line interface in the form of Git BASH, a graphical interface in the form of Git GUI and a context menu interface. Git BASH offers the complete power of git, Git GUI aims to cover all git functionality (though it falls a bit short) in a graphical way and the co...