Rebasing in Magit
Overall sentiment on Magit
- Many commenters describe Magit as exceptionally powerful, especially for complex history editing (rebasing, fixups, splitting/squashing commits, line-level staging).
- Several say Magit is the main reason they stick with Emacs or one of the few tools that genuinely changed their Git workflow.
- A minority find its rebasing UI confusing and mainly value it for reviewing/staging diffs.
- Some note that Magit makes Git concepts more “discoverable” via contextual popups and single-key commands.
Emacs as Barrier to Adoption
- A recurring theme: Magit’s dependency on Emacs severely limits adoption; many don’t want to learn or maintain Emacs just for Git.
- Some Emacs users report repeatedly failing to convince colleagues to try Magit, even when offering VS Code clones (e.g., edamagit).
- There’s also caution against “pushing” Emacs onto uninterested coworkers because it creates support burdens.
Comparisons to Other Tools & Workflows
- Alternatives praised: GitUp (Mac-only), LazyGit, jj/jjui, majutsu (Magit-like for
jj), neogit (Neovim), fugitive (Vim), gitu, IDE integrations, Fork, tig, git cola/gitk/git-gui. - Some argue GitUp or LazyGit offer faster or more intuitive commit manipulation (move/squash via simple keys) and that Magit doesn’t surpass that for common tasks.
- Others insist nothing matches Magit’s workflow and speed once mastered, especially for granular staging and complex rebases.
- Several prefer plain Git CLI with a few aliases, claiming wrappers add little or have betrayed trust in the past.
Performance Issues
- Complaints that Magit
statuscan be several seconds slower thangit status, especially in large repos. - Others respond that Magit runs many extra Git commands and recommend disabling specific status sections or profiling to speed it up.
Emacs Performance & Architecture
- Long subthread on Emacs being slower to start and more sluggish than Neovim/Sublime, with benchmarks.
- Mitigations: running Emacs as a daemon, tuning GC, using experimental incremental GC branch, trimming configs.
- Debate over whether shared global state and single-threaded design are fundamental limitations or acceptable trade-offs.
UI Philosophy & Learning Curve
- Magit’s key-discovery model is compared to old Lotus 1-2-3 style prompts: stepwise, hint-driven, then internalized as “incantations.”
- Some see this as elegant; others say the key sequences look intimidating and mask underlying complexity rather than removing it.