TortoiseGit tries to pretend that Git works like SVN. TortoiseSVN and TortoiseHg are excellent but those are faithful implementations of SVN respectfully Mercurial. In contrast, the only good thing to say about TortoiseGit is that it has always had good Windows integration but that's a non-issue today.
You can use TortoiseGit without understanding Git, and after using TortoiseGit you still will not understand Git. Some people are fine with that. That's all.
Git Extensions is supposed to be good but I have no personal experience, I basically only use git
and tig
. GitKraken has a lot of mindshare but it's the only other client I'll proactively warn against, on account of being proprietary software that's completely unimaginative and built by a company that has pulled some questionable licensing moves in the past.
> Notepad++ > Filezilla for ftp/sftp/ftps > putty/kitty for ssh. > mRemoteG > 7zip.
This will get you going without going into bureaucracy and major approvals. You can use Putty for Pageant, also mRemoteNG can do SSH as well. A decent web browser and Git Extensions if needed.
Linux desktop integration in a Windows domain can be a major PITA and a time sink. I would save time and resources to run a VM only for testing purposes.
I don't know what the most highly recommended GUI is, but the gitk interface that comes with git is certainly raked about a lot. I have also found git-extensions to be good enough for what I need at work on Windows.
I've started with TFS and git-tfs as well. Don't get discouraged. I love git but it is definitely a mind fuck - TFS treats the user as an application user. You have your common ~3 actions, abstracted and contained. But git acts more like a file system with every operation exposed and abstractions leaking everywhere. It's awesome for power-users, but also awful for newcomers.
I see. Well, I don't know about you, but I spend far more time thinking than typing. The cognitive burden of visualizing Git's state in my head (which I'd have to do if I didn't have a good GUI showing it to me) would far outweigh the overhead of using a mouse.
Also, git add -i
doesn't appear capable of (un)staging individual lines, which I fairly often do in order to keep my commits clean and focused. Patch hunks are not granular enough. Even lines sometimes aren't granular enough, but it's a hell of a lot better than hunk- or file-level granularity.