Repolode
jesseduffield

jesseduffield/lazygit

A simple terminal UI for git commands that makes staging, committing, rebasing and branch work faster from the keyboard.

Open-source alternative to:GitKrakenSourcetree

Stars
83,330
Forks
3,113
Open issues
1,048
Last commit
12 hours ago

What is it?

Lazygit is a terminal user interface for git. It puts the status of your working tree, branches, commits, stash and remotes into a set of panels, so common git operations can be done with single keypresses instead of memorising command-line syntax.

Its main focus is operations that are awkward on the command line: staging individual hunks or lines, interactive rebasing with squash, fixup, drop and reorder, cherry-picking, bisecting, and amending older commits. It also supports worktrees, undo and redo via the reflog, a commit graph, comparing two commits, and custom commands defined in its configuration.

Lazygit is written in Go, installs as a single binary on Windows, macOS and Linux, and can show GitHub pull request status when the gh CLI is installed.

Key features

  • 01Stage individual hunks or lines directly from the diff view.
  • 02Interactive rebase with squash, fixup, drop, edit and reorder of commits.
  • 03Cherry-pick, bisect, and amend older commits without manual rebasing.
  • 04Worktree creation and switching from the branches view.
  • 05Undo and redo git actions using the reflog.
  • 06Custom commands and keybindings defined through configuration.

Use cases

  • Splitting a large working-tree change into several focused commits.
  • Cleaning up a feature branch with interactive rebase before opening a pull request.
  • Tracking down a regression with git bisect in a terminal-only environment.
  • Working on several branches at once using worktrees.

Topics

FAQ

What is lazygit?
A simple terminal UI for git commands that makes staging, committing, rebasing and branch work faster from the keyboard. Lazygit is a terminal user interface for git. It puts the status of your working tree, branches, commits, stash and remotes into a set of panels, so common git operations can be done with single keypresses instead of memorising command-line syntax.
Is lazygit free to use? What license does it have?
lazygit is open source under the MIT license. Check the license terms before using it in commercial products.
Is lazygit still maintained?
Actively maintained. The last commit to lazygit was on Oct 21, 2026.
What can I use lazygit for?
Splitting a large working-tree change into several focused commits. Cleaning up a feature branch with interactive rebase before opening a pull request. Tracking down a regression with git bisect in a terminal-only environment. Working on several branches at once using worktrees.
Where can I get lazygit?
The source code and installation instructions are on GitHub: https://github.com/jesseduffield/lazygit

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects