Also being able to navigate blame history inside the editor is pretty cool.
No idea about other GUIs, if I have to get out the editor to use git I might just use the command line.
Ah I do use git blame sometimes but it's builtin to the ide so I get it while editing code live. I guess this is the biggest difference I have with not wanting a gitgui, any of those ops I feel like I can get with my ide.
Not sure how advanced is blame in other editors, it's not just blame annotation, is being able to navigate the history of a line just jumping from one change to the previous and back. It's incredibly helpful with large code bases to understand how some code evolved and why it's implemented like that.
Another great magit feature is being able to open a file from any git revision. Like you want to copy some line from a file that's being long removed you can just call magit-find-file on a revision that still has it, open it in buffer, copy what you want etc.
Vim's Fugitive[1] can do this and also in Textmate to. So I would hope that most editor git plugins can.
It's fully compatible with git.
What I used to need a GUI for now I can easily do with jj.
- seeing full content of a branch without checkouting
- seeing diffs between local/remote/stash branches instantly just by Ctrl + mouse click
- automatic stash+reapply local changes when pulling or checkouting branch
- easy using multiple ssh keys (due to multiple remotes)
- easy show/hide parts of tree in (a nice rendered) tree
- just one mouse click to show commit in github (and probably other sites)
etc.
most of them could be done with CLI but it would just be suffering for me