Skip to content

lazygit

The Git operations that are genuinely better with a UI — staging hunks, interactive rebase, resolving conflicts.

Homebrew formula Direct download

What it does

lazygit is a full-screen TUI over a real repository: panels for status, files, branches, commits, stash and the diff. Where it earns its place is the fiddly work — staging individual hunks or single lines with a keypress, reordering and squashing commits in an interactive rebase by moving a cursor, and resolving conflicts side by side.

lazygit          # in any repository
# space stage · c commit · P push · R refresh · x show keybindings

Notes

It calls the git binary rather than reimplementing anything, so the repository state is always something plain Git commands can also reason about. Config lives at ~/Library/Application Support/lazygit/config.yml on macOS.

Alternative to

AlternativeTypeTrade-off
tigOpen sourceLighter, focused on browsing history rather than performing operations
gituiOpen sourceRust, faster to start, a similar layout
Sublime Merge and ForkPaidGUIs, and the nicest diff viewers available
GitHub DesktopFreeSimple, and enough for commit-and-push
magit or vim-fugitiveOpen sourceThe same power, inside Emacs or Vim

Install

brew install lazygit

Links

This post is licensed under CC BY 4.0 by the author.
Last updated on