3 ms·
I was holding to that famous UNIX mentality for many years, since I started programming almost... Use many programs that do one single thing, pipe the data, pri
by Philipp__ 9y ago
I was holding to that famous UNIX mentality for many years, since I started programming almost... Use many programs that do one single thing, pipe the data, print it on the main output etc etc. That’s how I used git too, writing 160 chars wide commands... I tried playing with Emacs year and a half ago, and it was big cultural shock, for first year of using it I still couldn’t adopt kitchensink philosophy. But after barely scratching what emacs had to offer I went back to my unix terminal workflow it felt clunkier than ever.
Takeaway from this story can be Magit. It totally changed my perception of git, and felt like more robust and semantically better way to use/understand git. Maybe it was like that because of few years of terminal git usage, don’t know how will complete beginner react to magit. But what shocked me the most was how my approach to git changed with dofferent interface. GUIs never appealed to me, but magit represented the middle ground of GUI like functionality with terminal like interface that got many things semantically right.
- globuous 9y ago<edit> TD;DR: Magit is a lesson of UX. </edit> +1 for Magit. When I discovered it is when I discovered git. I assume tig must be similar although I've never looked into it but... With magit, from my editor, I can easily check: my git status, choose which hunks to stage or unstage, commit easily. I can switch branches with less than 10 keystrokes. etc. But to me, what's coolest about it is that I can easily see commit histories and graps for branches, files, and the repo. With less than 5 keystrokes. And I can navigate these histories easily. Finally !!! Same story for pushing, pulling, merging, rebasing. Which all of this you can do in CLI obviously. But Magit makes it easy, and because now I have everything I need with regards to git just a few keystrokes away, I can interact with git easily. So I do it.
- masklinn 9y agoMy only beef with magit is that it's really slow for nontrivial projects ($dayjob's main codebase is 1MLOC and has ~110000 commits reachable from HEAD, "status" takes a good 5s, and adding/removing stuff from d/u or d/s quickly gets painful).
- dbdr 9y agoI definitely recommend trying tig if you want a nice curses TUI on top of git.
- pgorczak 9y agoMagit is great! Even if Emacs is not for you I'd still recommend giving only Magit a try. It transformed my workflow from staging and committing full files in one step to using the staging area with parts of files or single lines if necessary (e.g. leave out work in progress parts of a source file). Some other stuff like interactive rebase I could only grok via Magit which in turn helped my Git-CLI skills.