Alternatives to Magit
A complete text-based Git interface that runs inside GNU Emacs. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
Magit
A complete text-based Git interface that runs inside GNU Emacs.
Replacements
Listings that take over the same core job as Magit.
Neogit
An interactive Git interface for Neovim, modelled on Emacs Magit.
Neogit brings a Magit-modelled, keyboard-driven Git interface to Neovim, so you switch editors from GNU Emacs to Neovim to keep the same workflow.
Gitu
A terminal user interface for Git, written in Rust and inspired by Emacs Magit.
Gitu offers a Magit-style workflow and familiar keybindings in a standalone Rust terminal app, without Emacs, though some Magit features are still missing.
fugitive.vim
A Vim plugin that runs Git commands and handles staging, blame and diffs inside the editor.
fugitive.vim moves Git work into Vim with the :Git command and staging, blame and diff views, and assumes you already know Git commands.
lazygit
A terminal interface for Git that makes staging chunks, interactive rebase and stashing things you actually do.
lazygit is a standalone MIT-licensed terminal interface with line staging and list-based interactive rebase, so you no longer need Emacs but must learn new keybindings.
GitUI
A terminal interface for git that is fast on huge repositories and controlled entirely from the keyboard.
GitUI is a standalone MIT-licensed terminal interface that is fast on huge repositories and stages by line, though interactive rebase support is limited.
tig
Browse Git history and stage changes in a terminal interface.
tig is a standalone GPL-2.0 terminal interface for history browsing and chunk-level staging, which replaces Emacs with any suitable terminal environment.
Also worth comparing
These listings name Magit as their own alternative, so the relationship runs both ways.
GitLens
A Visual Studio Code extension that adds blame, commit history and commit graph views.
Magit is a free open-source Git interface inside GNU Emacs covering advanced Git features, which requires moving from VS Code to Emacs.
Similar software
Related functionality, not a direct replacement.
Git
A free and open-source distributed version control system for projects of any size.
Flog
A Git branch graph viewer plugin for Vim and Neovim that works with fugitive.
Diffview.nvim
A Neovim plugin for cycling through diffs of all modified files for any Git revision.
forgit
A shell plugin that makes common Git commands interactive through the fzf fuzzy finder.