I use Git Tower and I love it. I'm surprised I don't see it mentioned here.
Programming
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
Besides lots of things already mentioned, sometimes I'm asked to support software under Windows that uses configuration files (and possibly versioned, self-contained releases - think stuff akin to running Apache Tomcat under Windows).
For those, I love using TortoiseGit to keep a handle on the 'mess' - it's out of the way in general, but I can see at one glance when stuff's been touched, keep a very convevient history etc.
I sometimes use the IntelliJ GUI for working with git stash, I never needed that outside of Java projects. And I use the Github Client to keep track of the git projects on my computer, and see the content of commits. But for everything else, I just use the git CLI tools.
Tig is a pretty nice terminal gui
Sourcetree
I use TortoiseGit.
The log window gives me overview and almost every action I need. Switching, rebasing, creating and deleting branches and tags, pushing, fetching, merging, view logs of files, diffing, blaming, filtering…
The log view is still much better than the VS Git log view. And due to it's visual GUI it's much better than CLI when going beyond just one branch or a low number of my own branches.
I mainly program in Visual Studio so I use it's integration for simple commits, diffs, and checkouts. Anything more complicated than that I head for the command line.
- 45% SourceTree
- 45% CLI
- 10% TortoiseGit
The repository I work in is huge, old, and the folder structures are wide and deep. It is normal to modify tens of files in almost as many folders for a single feature change.
SourceTree for managing staged files and committing.
CLI for pull, branch switching, and searching.
TortoiseGit for showing the log or blame of individual files and folders.
I own sublime merge because it was cheap when I upgraded to ST4, but never use it. It's not bad or anything, but honestly the CLI is more convenient to use (and all the GUIs I've used have a lot of clicking involved). I don't know that you're going to find something better than the CLI, especially given your requirement ow "comfortable to use with only a keyboard".