Remix.run Logo
dapperdrake 16 hours 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.

BeetleB 13 hours ago | parent | next [-]

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

Ferret7446 4 hours ago | parent | next [-]

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

emmelaich 10 hours ago | parent | prev [-]

Is magit much better than tig? I've never used magit.

mbirth 4 hours ago | parent [-]

If you’re still using tig, have a look at lazygit. Needs some getting used to (coming from tig) but supports way more git features.

nobleach 15 hours ago | parent | prev | next [-]

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?

SoftTalker 14 hours ago | parent | next [-]

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

tombert 13 hours ago | parent [-]

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.

SoftTalker 13 hours ago | parent [-]

Wnen I do anything more than commit/push/pull at the command line I will quickly get myself so confused that I end up deleting the directory and cloning it again. That doesn't happen to me (much) with magit.

tombert 12 hours ago | parent [-]

Fair enough. I feel like I do a fair amount of the more advanced features (interactive add and rebase, bisect, worktrees) without any fancy tooling and I don't have a problem much anymore, but admittedly they did confuse me at first.

em-bee 10 hours ago | parent [-]

i don't remember confusion. i find it's mostly understanding the data model and in particular the branches and references/reflog. when i am worried i might break something then i tag the the checkout where i am at and i know i can always revert to that. i also compare the original with the new state. i usually know what that diff should look like, and even if the operations in between are confusing, if the diff looks like what i expect then i know it went all right. trust the process but verify the results.

the big thing i am missing from it is a branch history. a record for every commit to which branch it once belonged to. no improved interface can fix that. that would have to be added to the core of git.

thdhhghgbhy 11 hours ago | parent | prev [-]

I found Neogit quite buggy. Not even in the same league as Magit.

kelvinjps10 7 hours ago | parent | prev [-]

I don't know but I didn't find as intuitive as lazygit