Live data from Hacker News

Magit, the magical Git interface (2017)

emacsair.me

41–50 of 357 posts

Re: Magit, the magical Git interface (2017)

#41
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.

Even though I use magit and I think it's the best git porcelain that exists, I felt the same way before I started using it, and a little of the same way whenever I need to go find out how to do something I haven't done before.

Re: Magit, the magical Git interface (2017)

#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/

Re: Magit, the magical Git interface (2017)

#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, pop one of my stashes", and they become routine, so working with code becomes a fluent experience, rather than fighting with your tools.

I would say that Magit and structural editing using Paredit are the two most important technologies that make programming great.

Re: Magit, the magical Git interface (2017)

#44
post #34

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? git add -p Then you can decide if each hunk is staged or not.

Cool, didn't know about that. To boost Magit a bit, you can stage parts of patch hunks, I use that quite a bit.

Just select any parts of the diff using regular edit text select commands and press "s" for stage.

Re: Magit, the magical Git interface (2017)

#46
post #34

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? git add -p Then you can decide if each hunk is staged or not.

In my experience magit version is much faster to use since you can simply select which lines you want to stage without having to refine the hunk.

Re: Magit, the magical Git interface (2017)

#47

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 around, and selectively unstaging is just a “d s” away.

Re: Magit, the magical Git interface (2017)

#48
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,…

The first two extension I set in Emacs.

Reminds me it's time to tip some projects.

Re: Magit, the magical Git interface (2017)

#49
Magit should be studied in computer classes. I'm from the eclipse j2ee college era. They tried heavy OO guis, none matched the ergonomics of magit. I'm still surprised to this day how lean and translucent magit feels.

People should try this kind of thinking instead of big engineering principles that only slow the machine and the user down.

It's only the 13th time I wrote this.

Re: Magit, the magical Git interface (2017)

#50

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…

>not hard[...] you need perfect memory and to never make any mistake

As someone without perfect memory and makes mistakes, I consider git add -p ergonomics very user unfriendly. But I guess that's your point :)

I also routinely use line-wise selection and often revert unnecessary lines when crafting the index.

Post reply on HN