2 ms·
A deceptively simple porcelain on top of git output, embedded into an emacs buffer. You summon magit, navigate the lines you want to stage, hit a key and go ba
by agumonkey 4y ago
A deceptively simple porcelain on top of git output, embedded into an emacs buffer.
You summon magit, navigate the lines you want to stage, hit a key and go back to working. Most of the UI is extremely lean and swift. It's even more powerful than a git video or book to learn things because magit will automatically infer information (if you're on a line of git log timeline, rebase will automatically do it from HEAD to that commit). It will pimp the rebase buffer so that you can change pick to reword / drop / else in one key. It's so obvious you don't even need the manual to discover how to use git. Really one of the nicest UX I know of.
- kqr 4y agoIt will also tell you exactly what git command(s) it executed in response to your actions and let you modify actions with shortcuts for git command-line flags, and you can easily run your own git commands. The seamlessness between the command line and the magit UI is another of its strengths.
- agumonkey 4y agogood point I don't think I recall a time where magit interfered with the semantics
- School-Cotton 4y ago“Porcelain” in this sense seems to be a very niche term used only by Git enthusiasts. I think it just means the same thing as a “git UI”.
- agumonkey 4y agoIt was trendy few years ago, and it's a general idea, it's a bit like jquery progressive enhancement over a webpage, you don't change the whole UX, you just complement/enhance the parts slightly. As a comparison, VSCode git extension adds a side bar with it's own subsections, and buttons with slightly obscure iconography and meaning, would also break usual git workflow (afaik you cannot edit a staged file and restage, it will complain). Magit, afaik, never does this, it reuse the outlines of git output, it just parses/reuses the local information under the buffer cursor/line and fill in the details for you so everything is one key away. It's like ast interpreter vs bytecode.