
lazygit — A free, keyboard-driven terminal UI for git that makes staging, rebasing and history surgery fast and forgiving.
What it is
lazygit is a free, open-source (MIT) terminal UI for git commands: full-screen panels for files, branches, commits and stashes, with single-key operations for staging, interactive rebasing, cherry-picking and more.
Editor's review
Long-form introduction by the BetterPicker editors · checked against the official site · Oct 23, 2026
lazygit is a terminal UI for git that turns git's most intimidating chores - interactive rebasing, partial staging, cherry-picking, untangling old commits - into single-key operations over a set of panels. It is free, open source under the MIT license, and shipped as a single Go binary; the current release line is 0.66.x. It installs from Homebrew and most package managers, runs on Windows, macOS, Linux and BSD, and starts instantly because everything is compiled into one executable. The project README frames the mission bluntly: git is powerful, but everyday operations such as interactive rebase or staging part of a file are wrapped in awkward workflows. lazygit's answer is a full-screen interface with panes for files, branches, commits and stashes where nearly every action is one keypress plus a confirmation. Users consistently describe it as the fastest way to rewrite history they have found; the recurring warning is that a tool this fast also gets you into trouble quickly if you do not understand what git is doing underneath.
What it does well
History surgery without the TODO file: interactive rebases start from the commits panel, where squashing, fixing up, dropping, editing and reordering are single keys, and custom patches let you move or delete a hunk from an old commit without hand-editing anything.
Staging that finally feels precise: space stages a whole hunk, another key drops to line-by-line selection, ranges mark in one press, and you can commit without leaving the diff; stashing only the staged subset is one menu away.
Forgiving by design: undo rewinds commits and branches through the reflog, worktrees and bisect have dedicated flows, and a flexible custom command system binds your own git one-liners to keys.
Who it's for
Developers who live in the terminal and already understand git's model: tmux and neovim users, maintainers juggling stacked branches, anyone who has lost an afternoon to a rebase TODO file. It pairs naturally with an editor that handles file editing while lazygit handles repo surgery. If you have only ever used git through a GUI, learn the command-line basics first - lazygit amplifies knowledge rather than replacing it. Maintainers who review pull requests while juggling stacked branches often keep it open beside their editor all day.
Where it falls short
The keybinding surface is big: dozens of context-dependent keys across panels; a menu of available actions and a searchable keybindings list exist, but users report days to weeks before muscle memory settles.
Destructive operations stay close at hand: discarding changes, hard resets and the blunt option to nuke the whole working tree are one or two presses away; confirmation dialogs help, yet newcomers can lose uncommitted work fast.
It drives git rather than replacing it: merge conflicts are still resolved in your editor or working tree, undo covers commits and branches but not working-tree or stash changes, and odd repository states still demand real git understanding to escape.
Specs at a glance
Facts from the official site · not editorial opinion
| Latest version | 0.66.2 |
|---|---|
| Price | Free; no paid tiers |
| Platforms | Windows, macOS, Linux and BSD via a single Go binary and common package managers |
| License | Open source under MIT |
| Core capability | Full-screen terminal UI for staging, interactive rebasing, cherry-picking and history editing |
| Integrations | Drives the git CLI; custom command keybindings; pairs well with tmux, neovim and terminal editors |
| Best for | Terminal-based developers who know git basics and want fast, keyboard-driven repo surgery |
Frequently asked questions
▸Is lazygit free?
Yes. It is open source under the MIT license with no paid tiers or feature gates; you install it from a package manager such as Homebrew or download a binary from the releases page.
▸Does lazygit replace the git command line?
No. It is a UI on top of git and runs the same commands underneath. Conflicts are still resolved in your editor, and understanding git's model helps you get the most out of it - and stay out of trouble.
▸How steep is the learning curve?
Moderate. The keys are context-dependent and numerous, but a menu lists available actions for the current panel and a searchable keybindings overview is built in. Users commonly report a week or two before the flow feels natural.
▸How risky is it for git newcomers?
Destructive options such as discarding changes or resetting the working tree sit close at hand, though most actions ask for confirmation. The undo command reverts commits and branches via the reflog, but it does not cover working-tree or stash changes, so commit often.
Video reviews
3 review videos aggregated · praise and criticism included alike · click through to the original video
Channels that covered it
Channels are aggregated as sources only — we don’t rate creators
Related tools
Where to go next
External links open in a new tab; external content is independent of this site.
Link down? Every object page is re-checked monthly.





