Skip to content
← Tools / Skills
ToolJesse Duffield (community)/10 trustVerified
LazyGit logo

LazyGit

Beloved terminal UI for Git: staging, rebasing, and conflict resolution without memorizing commands.

Visit official site →

About

lazygit is a terminal-based user interface for Git written in Go by Jesse Duffield. It wraps Git's full power behind a split-pane TUI showing files, branches, commits, and stashes simultaneously, with keyboard-driven interactive staging (hunks or lines), interactive rebasing, side-by-side conflict resolution, cherry-picking, worktrees, submodules, and bisect. It is MIT-licensed, distributed as a single dependency-free binary, and has grown to 80,000+ GitHub stars as a staple of terminal-first workflows.

Custom commands and keybindings are defined in a YAML config file, and diff renderers like delta and difftastic can be plugged in. Limitations: it is a wrapper around Git rather than a rethink, so Git's underlying complexity still leaks through on edge cases; large repos can feel sluggish; and the keyboard-first UX has a real learning curve for mouse-oriented users.

What it can do

  • Interactive staging and committing
  • Interactive rebase (reorder, squash, fixup)
  • Side-by-side conflict resolution
  • Branch, stash, and worktree management
  • Custom commands and keybindings
  • Pluggable diff renderers

Setup

brew install lazygit, or install via Scoop/pacman/apt, or download a release binary from GitHub.

Prerequisites

A terminal emulator and Git installed.

Use cases

version-controlgit-clientterminaldeveloper-productivity

Works with

Trust score — 8/10

/10 trustVerified

Scored 8/10 (verified tier, metrics-v1). Evidence: Verified via vendor site/docs/GitHub and reputable coverage, wave 66; Trending score 78/100 from researcher assessment.

★ 82,000 GitHub stars

Sources

Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.