← Back to context

Comment by dapperdrake

6 months ago

Magit is mind blowing.

How did the magit guy or people even come up with the data model? Always had the feeling that it went beyond the git data model. And git porcelain is just a pile of shards.

> How did the magit guy or people even come up with the data model?

It's not all that different from a typical TUI interface.

Magit isn't great because of the interface. It's great because the alternative (plain git) has such a crappy interface. Contrast principle and all.

  • Magit is pretty great because of transient, the model of showing what all the commands are. It's a very natural and easy UI affordance

    • Transient was factored out much later. It's not just transient that makes magit great, though. It's the only alternative porcelain for git that I'm aware of and one that makes git both easier to use and understand. I'm the "git guy" at every place I've worked but I owe it all to magit. Other git frontends just do the CLI stuff with point and click, they don't help you understand what's going on at all.

    • > Magit is pretty great because of transient, the model of showing what all the commands are.

      And that's different from many TUIs how?

For reference, I did use Magit for my short stint with Emacs (and then Spacemacs/Doom Emacs). I've always been more into Vim. I tried the Atom editor several years ago with lots of Vim emulation and quite a bit of customization - one of those being a Magit clone.

I moved to NeoVim many years ago and have been using NeoGit (a supposed Magit clone) the entire time. It's good but I'm missing the "mind blowing" part. I'd love to learn more though! What features are you using that you consider amazing?

  • It's mind-blowing because it makes git actually usable.

    • Maybe it's Stockholm syndrome for me, but I never really understood what was so unusable about the vanilla command line git interface.

      If you want to do some really advanced stuff, sure it's a little arcane, but the vast majority of stuff that people use in git is easy enough. Branching and committing and merging never seemed that hard to me.

      5 replies →