@b0rk The only GUI I use is my JetBrain IDE's, for two things:
* Code review before commit (with partial file selection just like "git add -p")
* Conflicts resolution
All the rest is done in CLI.
Though when I don't need to review the code (which can happen for small changes), I do check the diff in CLI for my review, and commit in CLI instead of my IDE.
All the rest, like rebasing, bisecting, log/graph, reflog, all this in CLI