Live data from Hacker News

Magit, the magical Git interface (2017)

emacsair.me

311–320 of 357 posts

Re: Magit, the magical Git interface (2017)

#311
post #309

I mention this every time this comes up. But I absolutely hated magit. It's the worst kind of "nannyware knows best" integration, and it doesn't belong anywhere near an editor. It's a fine front end to git, I'm sure, if you're actually willing to stop and re-learn how to use git. In my particular case, it was cute for a while until I did my first "git rebase -i" to reorder some patches or whatever and found myself in…

> Do. Not. Break. Workflows. Software that doesn't understand this principle is something I don't trust not to break itself when its developers decide to get cute.

What use would magit be if it presented the exact same interface as `git rebase`?

Do you know what it would lose?

> Did I stop and read the docs to figure out how it wanted me to rebase in this brave new world? Hell no.

I suppose you don't since you didn't read the docs.

Why try it in the first place if you expected it to be the exact same?

Re: Magit, the magical Git interface (2017)

#313
post #309

I mention this every time this comes up. But I absolutely hated magit. It's the worst kind of "nannyware knows best" integration, and it doesn't belong anywhere near an editor. It's a fine front end to git, I'm sure, if you're actually willing to stop and re-learn how to use git. In my particular case, it was cute for a while until I did my first "git rebase -i" to reorder some patches or whatever and found myself in…

> Do. Not. Break. Workflows.

Speaking of "nanny knows best," your pretentious use of punctuation and capitalization triggers a three-alarm d__che alert.

I'll assume your patronage of incontinence products followed naturally from applying this maxim when potty training.

Re: Magit, the magical Git interface (2017)

#315

Ohhh. "Magit" like "magic". I've been pronouncing it "maggot" this whole time.

This is almost embarassingly geeky, but I pronounce it as "MAH-giht" because the spell list in the original Wizardry game used "MA" as a prefix for the "upgraded" version of mage spells. E.g. "Halito" was "little fire" and "Mahalito" was "big fire". So it's "version control UI" and "better version control UI"

Maybe as a compromise I could pronounce "muh-git", as in "emacs has a good client fer usin' muh git".

Re: Magit, the magical Git interface (2017)

#316
post #203

Earlier quoted context omitted.

Magit has great support for staging parts of lines - select the section you want to stage and press 's'.

> Magit has great support for staging parts of lines This is news to me. > select the section you want to stage and press 's'. It stages line-wise for me. How do I get it to stage less than an entire line?

...huh. I just tested this in my Emacs instance and it works as you describe.

I could swear I remember this working in the past, but I can find no hint of it in a few quick searches, so I'm likely mistaken.

I'm sorry for the misinformation.Thanks for saying something.

Re: Magit, the magical Git interface (2017)

#317
post #245

Earlier quoted context omitted.

When selecting only part of line, 's' will still stage the full line for me.

Indeed. cd $(mktemp -d) git init echo bar > file.txt git add file.txt git commit -m "init" echo foo_bar_baz > file.txt # select only "foo_" in magit-status and press "s" git diff --cached will show diff --git a/file.txt b/file.txt index 5716ca5..2fd000c 100644 --- a/file.txt +++ b/file.txt @@ -1 +1,2 @@ bar +foo_bar_baz rather than the desired diff --git a/file.txt b/file.txt index 5716ca5..2fd000c 100644 --- a/file.…

..huh. I just tested this in my Emacs instance and it works as you describe.

I could swear I remember this working in the past, but I can find no hint of it in a few quick searches, so I'm likely mistaken.

I'm sorry for the misinformation. Thanks for saying something.

Re: Magit, the magical Git interface (2017)

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

> 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 > working with code becomes a fluent experience, rather than fighting with your tools I also do this regularly, but on my terminal. I don't feel like I'm fighting the git tools. Is this a common experience? I enjoy using git GUIs as well, especially for vi…

> I also do this regularly, but on my terminal. I don't feel like I'm fighting the git tools. Is this a common experience?

Trying to stash some of the changes is pretty annoying, yes. New files don't want to cooperate with stashing, and there's no way to stash just staged things like making a commit; you have to use -p.

Re: Magit, the magical Git interface (2017)

#319

I've never seen the upside. I use Emacs as my primary editor, and I regret it every time I say "today is the day I start using Magit". It is exceedingly invasive, triggering itself even when you don't ask for it (like running "git rebase -i" on the command line). The invasive stuff changes how the text editing itself works, but doesn't add deep features. In the interactive rebase case, I lose the ability to treat the…

C-c C-c is a natural "do it" binding in many emacs dialogs, as opposed to C-c C-k. I understand you might prefer C-x # if you often use emacsclient as your EDITOR, but I would venture to say that most people might not.
Post reply on HN