lazygit

Lazygit is a TUI git that makes complex git operations accessible through keyboard-driven menus. lazygit provides a visual staging area, branch management view, and commit history browser.

The tool excels at operations that are cumbersome in raw git:

  • Interactive rebasing with squashing and fixing commits
  • Cherry-picking between branches
  • Staging individual lines within files
  • Amending old commits without manual rebasing

Lazygit also provides bisect support for binary search debugging, custom patch building from old commits, worktree management for multiple branch workspaces, and undo/redo functionality via the reflog. The color-coded commit graph visualization makes it easy to understand repository history at a glance.

lazygit committing and pushing changes
lazygit committing and pushing changes