Neogit
An interactive Git interface for Neovim, modelled on Emacs Magit.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
About Neogit
Neogit is a Neovim plugin that brings a Magit-style Git workflow into the editor. It opens a status buffer from which you can stage and unstage changes, write commits, and run other Git operations through keyboard-driven menus without leaving Neovim.
It is written in Lua and maintained under the NeogitOrg organisation on GitHub, with an active commit history and documentation in the repository. It suits Neovim users who want a Git porcelain comparable to Magit.
Strengths
- Magit-style workflow inside Neovim
- Keyboard-driven staging and committing
- Actively developed with a large user base
Limitations
- Requires Neovim; not a standalone application
- Keyboard-centric interface takes time to learn
Details
- Pricing
- FreeFree and open source.
- License
- Open source, license not stated
- Developer
- The Neogit contributors
- Platforms
- Command line
- How it runs
- Downloadable app
- Account
- Not required
- Works offline
- Yes
- Best suited for
- Neovim users who want a Magit-like Git interface in their editor
- Categories
- Code editors, Git clients
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Alternatives to Neogit
Compare allSoftware that can replace Neogit for an important use case, and what changes if you switch.
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.
Neogit as an alternative
Listings that name Neogit as an alternative.
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 necessarily 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.