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.