I was rereading this old (2014) post from Tonsky (tonsky.me/blog/reinventing-git-interface), complaining about the fact that no git CLI manages to make the git interface sucks less.
Well, I have to disagree: tig does it! It's in the terminal, is lightning fast (written in C, can handle million-commit repos), configurable, and supports a shortcut for any action you can think of.
I think I type the "tig" command about 100 times a day. To me tig is a hidden gem that every dev should know about. No more complex GUIs, gitk, or byzantine git commands. Just `alias tig='tig --all'` and you're good forever with git.
Tig is truly good, and I always install it, it helps me interactively browse a bunch of commits on trees when i want to wrap my head around what’s going on, however, it’s not good enough :(
it’s features a little random, and I basically only use it as a viewer, and even then viewing full commits is too cumbersome.
https://github.com/jesseduffield/lazygit
Which seems to be an alternative