Alternatives to Neogit
An interactive Git interface for Neovim, modelled on Emacs Magit. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
Neogit
An interactive Git interface for Neovim, modelled on Emacs Magit.
Replacements
Listings that take over the same core job as Neogit.
fugitive.vim
A Vim plugin that runs Git commands and handles staging, blame and diffs inside the editor.
fugitive.vim is a Vim plugin with a long history that runs any Git command via :Git, trading Neogit's Magit-style interface for command-driven staging, blame and diffs.
Magit
A complete text-based Git interface that runs inside GNU Emacs.
Magit is the original Emacs interface Neogit is modelled on, with advanced Git features and thorough manuals, but it requires GNU Emacs instead of Neovim.
Gitu
A terminal user interface for Git, written in Rust and inspired by Emacs Magit.
Gitu keeps the Magit-style workflow in a standalone Rust terminal app, so it no longer needs Neovim, though some Magit features are still missing.
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 Git interface with line staging and interactive rebase from a list, used outside the editor.
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 controlled from the keyboard, fast on large repositories, with limited interactive rebase compared with a full GUI.
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 that runs outside Neovim in any suitable terminal.
Also worth comparing
These listings name Neogit as their own alternative, so the relationship runs both ways.
Diffview.nvim
A Neovim plugin for cycling through diffs of all modified files for any Git revision.
Neogit stays inside Neovim but is a Magit-style Git interface for staging and committing, rather than a dedicated tool for cycling through revision diffs.
GitLens
A Visual Studio Code extension that adds blame, commit history and commit graph views.
Neogit is a free Magit-style Git interface for Neovim with keyboard-driven staging, requiring a move from VS Code to Neovim.
Similar software
Related functionality, not a direct replacement.
gitsigns.nvim
A Neovim plugin that marks Git changes in the sign column and handles hunks in the buffer.
Flog
A Git branch graph viewer plugin for Vim and Neovim that works with fugitive.
vim-gitgutter
A Vim plugin that shows Git diff markers in the sign column and stages or undoes hunks.
Git
A free and open-source distributed version control system for projects of any size.