lazygit Features
A complete terminal UI for git. Everything you need â staged without flags, rebased without editing files, cherry-picked without copy-pasting hashes.
Stage individual lines
Press space on a selected line to stage it, or press v to start selecting a range. Stage exactly what you want without touching the rest of the file.
| Key | Action |
|---|---|
| Space | Toggle stage on selected line |
| v | Start/extend visual selection |
| a | Stage entire current hunk |
Interactive rebase
Press i to start an interactive rebase. Squash, fixup, drop, edit, or reorder commits with simple keypresses â no more editing a raw TODO file.
| Key | Action |
|---|---|
| s | Squash commit into previous |
| f | Fixup (squash, discard message) |
| d | Drop commit |
| e | Edit commit |
| ctrl+k / ctrl+j | Move commit up / down |
Cherry-pick
Press shift+c to mark a commit for copy, navigate to another branch, and shift+v to paste. Supports multi-commit cherry-pick.
| Key | Action |
|---|---|
| shift+c | Mark commit for cherry-pick |
| shift+v | Paste (cherry-pick) marked commits |
Bisect
Use git bisect to find the commit that introduced a bug â all from the lazygit UI without needing to remember bisect subcommands.
| Key | Action |
|---|---|
| b | Open bisect options on a commit |
Undo & Redo
lazygit records every action you take. Press ctrl+z to undo your last action, and ctrl+y to redo it. Never lose work by accident.
| Key | Action |
|---|---|
| ctrl+z | Undo last action |
| ctrl+y | Redo last action |
Commit graph
See the full branch topology in a visual commit graph rendered directly in your terminal, with color-coded branches.
Amend old commits
Stage changes and use rebase magic to amend any commit in your history â not just the last one. lazygit handles the rebase automatically.
| Key | Action |
|---|---|
| A | Amend selected commit with staged changes |
Worktrees
Manage multiple git worktrees from a single lazygit window. Switch between them without losing context.
Custom commands
Bind any shell command to a keybinding. Commands receive context like the selected branch, file, or commit. Automate your workflow without leaving lazygit.
Filter & search
Press / in any panel to filter the list. Instantly find branches, commits, files, or stashes without scrolling.
| Key | Action |
|---|---|
| / | Filter current panel |
Ready to try it?
All features are available for free on Windows, macOS, and Linux.