Keyboard shortcuts

|  | Commit
Ctrl + Return | : | Commit staged changes
Ctrl + Shift + Return | : | Prepare commit message hook
Ctrl + S | : | Stage / unstage selected files
Ctrl + Shift + S | : | Stage / unstage all files
Alt + A | : | Stage modified files
Alt + U | : | Stage untracked files
Ctrl + U | : | Revert unstaged edits
Ctrl + Z | : | Revert uncommitted changes
Ctrl + Shift + M | : | Merge branches
Ctrl + m | : | Amend last commit
Ctrl + Shift + C | : | Cherry pick

|  | Actions
Ctrl + B | : | Create branch
Alt + B | : | Checkout branch
Ctrl + T | : | Find files
Ctrl + G | : | Grep
Alt + D | : | Show diffstat
Alt + E | : | Export patches
Alt + Shift + S | : | Stash
Ctrl + Enter | : | Apply Stash
Ctrl + Backspace | : | Pop Stash
Ctrl + Shift + Backspace | : | Drop Stash
Ctrl + Backspace | : | Delete untracked files
Ctrl + Shift + F | : | Toggle paths filter
Alt + R | : | Start/continue interactive rebase
Ctrl + R | : | Refresh
? | : | Keyboard shortcuts

|  | Editing
Enter / Ctrl + E | : | Launch editor
Space | : | Open using default application
Shift + Space | : | Open parent directory
Ctrl + Shift + E | : | View / edit recently modified files
Ctrl + # | : | Focus tools
Ctrl + Shift + # | : | Show and hide tools # is 1 for commit, 2 for status, 3 for diff, etc.

|  | Remotes
Ctrl + P | : | Launch the Push dialog
Ctrl + Shift + P | : | Launch the Pull dialog

|  | Diff
S | : | Stage the selected lines, or the diff hunk beneath the text cursor when nothing is selected
Ctrl + D | : | View diff using `git difftool`
Ctrl + Shift + D | : | View directory diff using `git difftool --dir-diff`

|  | Browser actions
Ctrl + Shift + H | : | View history
Ctrl + Shift + D | : | View diff against predecessor
Ctrl + Alt + C | : | Copy SHA-1

|  | Navigation
H | : | Move left/collapse
J / Alt + J | : | Move down
K / Alt + K | : | Move up
L | : | Move right/expand
Ctrl + J | : | Focus the Diff Editor
Ctrl + K | : | Focus the Status tool
Ctrl + L | : | Focus the Commit tool