At work all of our computers are Macs, so I've been using SourceTree (and before that, Tower). I run Windows at home, however, and haven't really found a good git GUI. I guess I'm happiest with SmartGit, but nothing really has the same slickness as SourceTree.<p>Are there any better clients out there that I don't know about? Are there any in alpha/beta that I could maybe test with?
TortoiseGit is probably the best choice. It's low-friction, integrates well with Explorer and with PuTTY, and makes it painless to drop into the command line and invoke git manually when you need to.<p>In particular, TortoiseGit offers excellent UI for commit, revert, log/reflog, merging, and patch management. It also has some built in UI for Git-SVN if you use that.<p>The Windows GitHub client is shaping up nicely if you use GitHub but it's still in beta and super unstable.
I like the native git gui that comes with the default windows git install. It's simple but does 95% of what I need it to. Command line for the oddities.
Tortoise git is the windows git gui of choice at our work and is the one I recommend to install for our clients who use windows. Haven't tried any others though.<p>Since I know the command line client best, I always install msysgit first, set up ssh keys in "git bash" using ssh-keygen and then install tortoise git. Warning, if you use msysgit, make sure to <i>not</i> use the "plink" ssh that is installed with tortoise but use the msysgit one. That setup has had the least issues for us.
My best experience so far has been with a combination of SmartGit and TortoiseGit. SmartGit doesn't have interactive rebase and doesn't allow you to specify refspec when pushing. I've had to use the former occasionally and I use the latter all the time, because we work with Gerrit.<p>Of course, you could throw TortoiseGit out of this whole story if you don't need that kind of stuff or if you're comfortable with using command line for certain details.
This might sound like a ugly workaround, but since I'm stuck with a windows-only compiler/IDE at work, I resorted to have my files put on a linux-machine and exported via samba to the windows computer.<p>I run git (and texteditor, scripts, ...) on said machine and the IDE is more or less only used for it's "Build" button.
We use Plastic SCM as our UI and repo, but I hear it can connect to git (somewhat) seamlessly. The interface is very slick, and the user experience is great when you use the Plastic Repo, not sure how it translates when pulling from git though.
While I haven't used a Git client on Windows (I'm on a Mac), my cofounder still uses Windows and seems to be happy with TortoiseGit (<a href="http://code.google.com/p/tortoisegit/" rel="nofollow">http://code.google.com/p/tortoisegit/</a>)
Used to use SmartGit at my last job and that generally worked pretty well. New places uses svn :( so have got familiar with TortoiseSVN, which works pretty well, so would imagine TortoiseGit would also be a good choice.
A little late to the party, but I've briefly used and liked SmartGit (<a href="http://www.syntevo.com/smartgit/index.html" rel="nofollow">http://www.syntevo.com/smartgit/index.html</a>).
If anyone in the future comes across this, there's the new Github for Windows client - <a href="http://windows.github.com" rel="nofollow">http://windows.github.com</a>