4 ms·
Magit changed git from just a DVCS to a integral part of my dev process. Especially in large projects where I spend much more time reading code and trying to un
by robto 4y ago
Magit changed git from just a DVCS to a integral part of my dev process. Especially in large projects where I spend much more time reading code and trying to understand how it came to be the way that it is. I mainly write Clojure, but for a while I was writing Scala (many years ago, when its emacs support was inferior to Intellij, I don't know what the state is these days). When I was using Scala it wasn't my emacs-style keybindings that I missed the most (though I did miss them), it was the mind-meld instant navigation of the project history that slowed me down. I ended up suffering the emacs support while planning my changes just so that I could use Magit to read history. Then I'd switch back to Intellij for actual authoring.
It's incredibly flexible, but here are some things that I do all the time in Magit that I hesitate to do when I'm just using the cli:
- stage individual lines from a hunk
- rebase fearlessly
- resolve merge conflicts
- view the list of all commits that touched a file
- view a file from the above list at a point in time next to the current version
- name my stashes!
All of these are possible from the cli or other git uis, but they are very discoverable using Magit - I didn't even know you could name stashes until I was prompted for a name while stashing. And Magit will happily log all the actual git commands that it runs, so if you're curious how it works you can easily peak behind the curtain.