I knew git at a deep level before picking up magit and I can’t disagree more with how you paint magit. Magit is the one and only git GUI that actually aligns with the git CLI and doesn’t present git as just another VCS like perforce.
I know immediately what magit is going to actually do when I use it. I could easily do everything in the terminal but I don’t because magit lets me do things so much faster and with fewer keystrokes.
Interactive staging of hunks in magit is far superior to doing the same thing with the CLI. Making interactive staging easier helps prevent hunks from ending up in the wrong commit. Oftentimes 2 different parts of a changed file in the worktree should not be in the same commit, so being able to stage hunks lightning fast in emacs is a game changer.
Here is an example of what I would do in magit with spacemacs which has evil-magit
SPC g s — pulls up magit
Tab to expand a file
s to stage
c c to commit
l L to see a detailed graph of all local branches
Move cursor to commit I want to cherry pick
A a to cherry-pick commit that my cursor is under
p p to push my branch to remote
When I’m deep in work it’s so incredibly lower friction to do that sequence of actions in magit than using git CLI.
Sure I’ll still drop down to the real thing if I need to do some really esoteric spelunking through the repo with plumbing commands but if I’m already in emacs magit is amazing.