tl;dr: For those who don't want to read the rest of this review I tried five git clients for Windows and found Git Extensions much better than any of the others. I highly recommend it. Not having used git before I was looking for something with a GUI so I wouldn't have to remember all the commands and options. Git Extensions was one of five git clients I tried for Windows: Git for Windows (which has a basic GUI), TortoiseGit, GitHub Client for Windows, Source Tree (from Atlassian, the people behind BitBucket) and Git Extensions. The GUI for Git for Windows handled the basics but for anything more you have to drop into the command-line interface. I didn't like the workflow with TortoiseGit, which seemed to me to be trying to fit a square peg into a round hole: It seemed to be a port of a version control system (VCS) that deals with changes at a file level, such as SVN, and didn't really seem designed to deal with a VCS like git that deals with changes at a project level (with each commit being a snapshot of all files in the project). I came to the GitHub Client for Windows and Source Tree after having used Git Extensions for a year, just to try them out and see if they were an improvement on Git Extensions. The GitHub Client for Windows was too basic for me. While it could be used with repositories that weren't hosted on GitHub, it seemed to me the assumption was that many functions would be carried out on the GitHub website so that functionality was not included in the client. This would be fine for people who host their remote repositories on GitHub but I was looking for something to use at work, where the remote repositories are hosted on our local network. Source Tree is beautiful to look at, much more polished than Git Extensions, but I found it lacks some of the functionality of Git Extensions. It's in its early days so may be worth looking at in a year or two but, for the moment, Git Extensions is far more powerful. So that's what I didn't like about the other Git clients for Windows. What about Git Extensions? The developers claim that Git Extensions allows you to do everything via the GUI, that you never need to drop down into git's command-line interface (CLI). That's not entirely true but I only have to use the CLI about once a month or so, for really obscure and tricky stuff. I've been impressed with how much I can do with Git Extensions. The developers have done a really good job of packing so much functionality into the application, in a clear and understandable way. For an example, take a look at the Pull dialog box which includes diagrams of what the different merge options do. One thing I'm particularly impressed by is the way Git Extensions handles submodules. Submodules, I think, are a weakness in git (the "pure" git, with the CLI, not Git Extensions). Very finicky, with multiple steps to add a submodule and having to manually edit a configuration file to remove a submodule. Git Extensions combined the multiple steps needed to create a submodule into one, and handles removing a submodule simply, without the user having to edit any files manually. In short, Git Extensions does a good job of simplifying these tasks that are complex in "pure" git. I've mentioned that Source Tree looks more polished than Git Extensions. There is nothing majorly wrong with the look and feel of Git Extensions, it just looks like Atlassian has put more effort into the colour scheme and icons of Source Tree. Given that I found Git Extensions to be far more powerful than Source Tree I don't care about Git Extensions not looking as slick. The only quibble I have with Git Extensions, and it's a minor one, is that the documentation is a little lacking. It covers the basic functionality fine but doesn't explain all the options available in each command, and what their effects are. Now that I'm reasonably experienced and trying to do more with Git Extensions, I find I have to go to the "pure" git documentation to find out about options for different commands as the Git Extensions documentation doesn't cover it. Luckily the designers of Git Extensions have mapped the underlying git commands to their dialog boxes in a logical way, so usually I can work out which git option maps to which option in a Git Extensions dialog box.
Very buggy software. Inability to support SSH on non-default (non 22) ports even after the issue has been open for a year. The latest version (May 15, 2015) won't even install (permissions error, even when running on Administrator account with UAC disabled) Half the time it can't push to the repository because pageant doesn't start. It stores some settings in the registry, such as the locations of the putty-related executables, and does not honor or even read them correctly. Git is a pain enough as it is, a client should alleviate some of that pain but this thing is just too buggy and unstable to be useful. Uninstalled and went with SourceTree, which actually works properly.
There are no 2 star reviews.