Hacker News new | ask | show | jobs
by jayd16 100 days ago
What makes something easier in magit than, for example, SmartGit?
2 comments

I haven't used SmartGit, so I can't really compare.

I would single out the following for Magit:

1. Single key strokes for actions and toggles 2. Discoverability through "slide-ins" (TFA also explains this)

For 2, this means I press "c" for commit, this opens a popup showing me the next keypresses and what they do. So I can build up muscle memory for commands I know that are fast due to 1, and I can discover options that might help me due to 2.

If I don't know what to do at all, there's Ctrl+c, Ctrl+c to discover "entry-points" for Magit shortcuts.

I would also highlight that in Emacs magit one can always drop back to command line by pressing "!", which I do, when I don't know how to do something in Magit. Like "git submodule update --init --recursive".
Magit feels very efficient to many developers because it is essentially a thin layer over Git itself. If you already know Git commands and work comfortably inside Emacs, Magit lets you trigger many operations extremely quickly using short key sequences. In that sense it is very close to the mental model of Git.

However, that efficiency comes with a prerequisite: you need to remember commands, understand Git concepts well, and work inside a keyboard driven environment.

SmartGit focuses on a different kind of efficiency. Instead of optimizing for memorizing commands, it optimizes for visual understanding and discoverability. Complex operations like rebasing, resolving conflicts, working with multiple repositories, or managing submodules become easier because the state of the repository is immediately visible and actions are guided.

So the difference is less about what Git can do and more about how quickly a developer can understand and control what is happening.

Magit is extremely powerful for experienced Emacs users who prefer command driven workflows. SmartGit aims to make advanced Git workflows accessible, transparent, and safe for a much broader range of developers.