← Back to tools

lazygit

Simple terminal UI for git commands

Description

lazygit is a simple terminal UI for git commands, written in Go. It provides an interactive interface for staging, committing, branching, merging, rebasing, and more without needing to remember complex git commands.

Install

homebrewbrew install lazygit
pacmansudo pacman -S lazygit
gogo install github.com/jesseduffield/lazygit@latest

AI Summary

Full-featured terminal UI for git. Stage hunks, resolve conflicts, interactive rebase, cherry-pick, and manage branches — all without memorizing git commands.

Capabilities

  • + Interactive staging of files, hunks, and lines
  • + Visual branch management and merging
  • + Interactive rebase with drag-and-drop
  • + Conflict resolution interface
  • + Commit history browsing with diff preview
  • + Cherry-pick, stash, and worktree management
  • + Custom command support

Use When

  • Managing complex git workflows interactively
  • Need to stage individual hunks or lines
  • Resolving merge conflicts
  • Browsing commit history with diffs
  • Interactive rebasing

Avoid When

  • x Simple single-file commits (git add + commit is faster)
  • x Scripted git operations (use git CLI directly)
  • x Headless/CI environments

Usage Patterns

Launch lazygit

lazygit

Opens the interactive git UI in the current repository

Open in a specific repo

lazygit --path /path/to/repo

Opens lazygit for a different repository

Filter commits by path

lazygit --filter src/

Shows only commits affecting the src/ directory

Input / Output

Exit codes:
0 Normal exit

Related Tools

View AGENTS.md for lazygit