Usually the upvotes come from the casual users and the muttering from the heavy ones. In light of what I said, would you still recommend magit?
Usually the upvotes come from the casual users and the muttering from the heavy ones. In light of what I said, would you still recommend magit?
If anything, Magit has helped me AVOID getting in a bad state, because it automatically shows me more information and context than what I get from the Git command line (despite all this fancy Git stuff I put in my prompt). When I’m committing in Magit, I see some weird hunk I didn’t mean to commit, and I can seamlessly edit it, because I’m already in the editor.
magit is a (somehow) thin layer on top of git output, and the brilliance comes from
- keeps the information similar to git cli
- depending on the context it allows to use indirect features (chunk staging) live from the diff
- for most use cases it will infer obvious flags/parameters from where you're at.
e.g: if you're on branch and start rebasing, it will soft-infer the source and target branch.
another one, in the log view, selecting a few commits and diff will get you the diff for that range
it basically reify the informations from the output transparently for you and reuse it where useful, saving you input and efforts multiple times per day
- lastly very low complexity so it's quick and out of your way. every time I have to pair, my colleagues say they couldn't follow what I did because by the time I started talking about staging/pushing, I'm already finished and back to sourceThe inference of flags and parameters is also helpful, yeah. I’m remembering times where I’ve done something in magit and it’s auto-populated some commit or branch name, and I’m like, “Yup, that’s the right one” which saves me fifteen seconds of looking up the right name. It makes sense that the command-line interface to Git would expect me to be more explicit.
there's a faithful conversion as edamagit for vs-code.
It's way more casual than having to know Emacs.
I share your horror for GUIs ineffectively hiding the version control reality; but then, despite being an emacs and casual magit user, I still mostly git add files one by one, having git diff the files one by one, and assembling the changed files into coherent groups.
There are definitely shortcuts I could take in some scenarios but walking the safe path even though it's a little longer is the sane response especially when you can type as fast as most of us and you've been using a bourne shell as long as I have.
Or if I'm being more charitable, it's about staying outside the yellow tape lines on the factory floor. No exceptions.
The flip side is that I've never seen magit end up in an inconsistent state, which is probably for the same reason it's slow: it's not doing anything "clever," just directly showing you the information it got from git.
That sounds like a feature.
The heart of Continuous is: if it hurts, either do it until it doesn’t hurt or stop doing it altogether.
Sounds like option B to me.