I'll throw my hat in the ring re magit too. I don't get what's so amazing about it, it seems more difficult to use and git cli is already great, why should I switch?
It’s funny but magit is probably the number one thing that sold my teammates on Emacs :simple_smile:
I bounce between multiple branches on multiple projects all day long so magit’s branch management has become muscle memory for me — and it’s so much less typing than the command line :simple_smile:
I used to use scm_breeze back in my vim/tmux days. It’s great. But now that I’m on the Spacemacs bandwagon, it’s magit all the way.
Let's see how I can put it
If all you do is pull/commit/push then magit is a pretty interface on top of that, which also exposes some options you might not have known of.
If you do a lot of branching, branch/tag managing, then the magit interface makes everything much much faster than the command line alternative
Then there's all those other features, like rebasing onto, interactive rebasing, staging hunks, stashing, remotes managements. Not only does Magit have a much nicer interface for these, but it also exposes them to you in a super intuitive way.
So, assuming you know basic git, magit actually teaches you advanced git much better than most guides out there.
I tried Magit for the first time yesterday. I like that I can just type C-x g
to open status, n n [TAB] n s n s n [TAB] ...
to stage, then c c
to commit. Way fewer keystrokes than git status
, git add ...
, etc
And when I'm doing a messy merge or rebase, I anticipate it will be valuable to not have to leave emacs to resolve the merge conflicts.
does magit play nicely with ssh/tramp connections? that's one thing that git-gutter is pretty bad at.
@arrdem: I’ve used magit over tramp before. It worked.