Alternatives to lazygit
A terminal interface for Git that makes staging chunks, interactive rebase and stashing things you actually do. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
lazygit
A terminal interface for Git that makes staging chunks, interactive rebase and stashing things you actually do.
Replacements
Listings that take over the same core job as lazygit.
GitUI
A terminal interface for git that is fast on huge repositories and controlled entirely from the keyboard.
GitUI is also MIT licensed and keyboard driven and is designed to stay fast on huge repositories, but its interactive rebase support is more limited.
tig
Browse Git history and stage changes in a terminal interface.
tig covers history browsing and chunk-level staging in the terminal under GPL-2.0, without lazygit's interactive rebase and stashing workflow.
Gitu
A terminal user interface for Git, written in Rust and inspired by Emacs Magit.
Gitu is a Rust terminal interface that copies Emacs Magit's workflow and keybindings, though it implements Magit features progressively and some are still missing.
Magit
A complete text-based Git interface that runs inside GNU Emacs.
Magit offers a full keyboard-driven Git interface with advanced features through mnemonic keys, but it requires running GNU Emacs.
Neogit
An interactive Git interface for Neovim, modelled on Emacs Magit.
Neogit gives a Magit-style Git interface inside Neovim, so staging and committing happen in the editor rather than in a standalone terminal binary.
fugitive.vim
A Vim plugin that runs Git commands and handles staging, blame and diffs inside the editor.
fugitive.vim puts Git commands, staging, blame and diff views inside Vim, but it assumes you already know Git commands rather than hiding the syntax.
Also worth comparing
These listings name lazygit as their own alternative, so the relationship runs both ways.
forgit
A shell plugin that makes common Git commands interactive through the fzf fuzzy finder.
lazygit replaces fzf-driven command aliases with a full terminal interface for line staging, interactive rebase and stashing, shipped as one static Go binary.
git-interactive-rebase-tool
A terminal sequence editor for Git interactive rebase with commit diffs and keyboard reordering.
lazygit handles interactive rebase by moving commits in a list and also covers line staging and stashing, so it is a full terminal Git interface rather than a sequence editor.
Retcon
A macOS app for rewriting Git history by dragging and dropping commits, with undo for every change.
lazygit does interactive rebase by moving commits in a list, free under MIT in the terminal across platforms, instead of a native Mac drag-and-drop window.
Serie
A terminal application that draws a detailed Git commit graph using the terminal's image display protocol.
lazygit is an MIT terminal interface that performs Git operations such as staging lines, interactive rebase and stashing, rather than only viewing history.
Similar software
Related functionality, not a direct replacement.
SourceGit
A fast desktop Git client for all three platforms that covers rebase, bisect, worktrees and LFS.
GitHub Desktop
GitHub's own Git client, aimed at people who want to commit and push without learning the command line.
lazydocker
A terminal dashboard for Docker and Compose, so you stop typing ps, logs and restart over and over.
GitKraken Desktop
Visual Git client with a graph view, drag-and-drop branching and a merge editor.
Fork
Fast native Git client for macOS and Windows with a clean interface.
Jujutsu
A version control system with a simpler model than git, which uses git repositories as storage so it works with existing projects and hosts.