Live data from Hacker News

Magit, the magical Git interface (2017)

emacsair.me

51–60 of 357 posts

Re: Magit, the magical Git interface (2017)

#51

I've honestly come to the point where I have my handful of most used Magit key combinations to handle certain tasks. But I wouldn't for the life of me know how to apply those with raw git.

It's a little concern of mine too. But there are worse things in life

Re: Magit, the magical Git interface (2017)

#52

Magit is insanely ergonomic. Like how easy is it to selectively stage portions of files in the git CLI? In magit it is usually just a few keystrokes. I wish magit-forge [0] had more features though - like I cannot create new labels from it. Please consider donating [1] to the developer if it has made your life any easier. [0] https://github.com/magit/forge [1] https://magit.vc/donate/

> Like how easy is it to selectively stage portions of files in the git CLI? It’s not hard (`git add -p`) unless you need line-wise selection. The main issue in my experience is that it’s completely linear so you need perfect memory and to never make any mistakes: git shows each hunk individually and tells you to make your choice before it shows the next, no take-backs. Magit shows the entire diff and lets you jump a…

I very often do line wise selection with magit, so that my commits are atomic and single-topic.

Re: Magit, the magical Git interface (2017)

#54
post #42
post #40

This post is the epitome of "tell, don't show", when it should be the opposite. It reads like it wants to convince you to try magit, without demoing a single example of how it's superior.

Then this post may be more appropriate https://emacsair.me/2017/09/01/magit-walk-through/

Thank you for sharing. If the original post had included stuff from the one you sent, that would be a high-quality blog post worth reading.

Re: Magit, the magical Git interface (2017)

#55

Magit is insanely ergonomic. Like how easy is it to selectively stage portions of files in the git CLI? In magit it is usually just a few keystrokes. I wish magit-forge [0] had more features though - like I cannot create new labels from it. Please consider donating [1] to the developer if it has made your life any easier. [0] https://github.com/magit/forge [1] https://magit.vc/donate/

How many other Git GUIs have you used? Over commandline git, almost any GUI will feel like an improvement for tasks like selective staging or diffing.

Re: Magit, the magical Git interface (2017)

#56
For the sake of discussion, can we get some contrarian views?

I'm using magit, along with tig, plain git and sometimes (!) even plain "vc", depending on context. I'm in the camp that thinks it's ok and it's pretty comfortable to use within emacs, but I don't see the earth shattering praise I see every time it's mentioned here.

Tig for example is so much faster for history and blame perusal that I find it faster to keep it open in another terminal and just switch to it.

Altenatives? Contrarians?

Re: Magit, the magical Git interface (2017)

#57
post #9

Magit is an exceptionally well made interface to Git. Yes, it’s built on top of Emacs, and that might stop many from even looking into it. - I am glad I made a deep dive into Emacs last year, and although I stopped using it as an IDE (VS Code is just too good), I still come back to it because of Magit (and macros, general text editing and org-mode). Yes, I have an interface for Git in VS Code as well, but it‘s very r…

Have you used Git Lens yet?

Re: Magit, the magical Git interface (2017)

#58
post #43

Magit is such an unbelievably good piece of software. If you haven't used it, please at least take a look. It seems like "just a GUI for git", but that's missing the point — many operations suddenly become frictionless, so your entire workflow changes. I regularly do things like "stash some of my changes, switch branch, cherry pick a commit, switch branch, do an interactive rebase reordering commits and dropping one,…

Can I like magit if I don’t like emacs?

Re: Magit, the magical Git interface (2017)

#59
I was pretty skeptical about magit at first because I know all the basic git commands for my daily workflows by heart and I don't find them to be very difficult or slow to use. But since I am also an Emacs user and everybody kept telling me to try it out I finally forced myself to use it. And I must say it is very easy to pickup and use productively. It is way better than most of the git integration features you get with your typical IDE (like VScode for example) because magit supports most git workflows pretty seamlessly. It integrates itself nicely in Emacs' keyboard driven UI. So now I don't need to drop to a shell anymore to interact with git.

But does it make me much more productive? I don't know.

While developing typically I add some debug code mangled with the actual stuff. So when I am ready to commit I've got to remove that first. I had done this manually in the editor before, now from within magit I can just select the lines I'd like to stage and press "s". Then proceed to commit pressing "c". Finally, by just selecting the remaining lines and hitting "k" ("kill") I get rid of all debug code. That's pretty nice and I will never ever forget to remove debug code again. Similarly, you can manage your git stash with a couple of key strokes.

Branching and merging works well, too. But I don't think magit makes it much easier as you still need to type in branch names. Autocompletion is supported, but git provides this as well.

Merge collisions are still a pain. And for more complicated tasks like interactive rebases, reflog rescues or bisecting I still keep dropping to the shell. I actually like the expliciteness, here, because it prevents me to stupid things in dangerous maneuvers. And "git help" is always there to remind me on all gazillion command line arguments.

Post reply on HN