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.
It 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.
It 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.
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.