Keybindings Reference
Press ? inside lazygit at any time to see keybindings for the current panel.
Global
| Key | Action |
|---|---|
| ? | Show keybindings for current panel |
| q | Quit |
| Tab / shift+Tab | Next / previous panel |
| 1–5 | Jump to panel by number |
| ctrl+z | Undo last action |
| ctrl+y | Redo |
| @ | Open command log |
| + | Expand diff view |
| _ | Shrink diff view |
| / | Filter current list |
Files
| Key | Action |
|---|---|
| Space | Stage / unstage file |
| a | Stage all / unstage all |
| Enter | Open file in hunk view |
| d | Discard changes |
| e | Open in editor |
| c | Commit staged changes |
| w | Commit without pre-commit hooks |
| A | Amend last commit with staged changes |
| s | Stash changes |
| S | Stash options menu |
Hunk / Line staging
| Key | Action |
|---|---|
| Space | Stage / unstage selected line |
| v | Toggle visual (range) selection |
| a | Stage / unstage entire hunk |
| E | Edit hunk in editor |
Branches
| Key | Action |
|---|---|
| Space | Checkout selected branch |
| n | Create new branch |
| d | Delete branch |
| D | Force delete branch |
| r | Rebase current branch onto selected |
| M | Merge selected into current branch |
| f | Force-checkout (discard local changes) |
| u | Set upstream |
| p | Pull |
| P | Push |
Commits
| Key | Action |
|---|---|
| s | Squash commit into previous |
| f | Fixup (squash, discard message) |
| r | Rename commit message |
| d | Drop commit |
| e | Edit commit (pause rebase here) |
| i | Start interactive rebase |
| ctrl+k / ctrl+j | Move commit up / down |
| shift+c | Mark commit for cherry-pick |
| shift+v | Paste (cherry-pick) marked commits |
| A | Amend this commit with staged changes |
| b | Bisect options |
| c | Copy commit SHA |
Stash
| Key | Action |
|---|---|
| Space | Apply stash (keep) |
| g | Pop stash (apply and delete) |
| d | Drop stash |
| n | New branch from stash |
These are the default keybindings. You can customize any of them in your
config file.
See the official Config.md ↗ for the full reference.