# Lazygit Keybindings ## Global Keybindings
pgup: scroll up main panel (fn+up) pgdown: scroll down main panel (fn+down) m: view merge/rebase options ctrl+p: view custom patch options P: push p: pull R: refresh x: open menu +: next screen mode (normal/half/fullscreen) _: prev screen mode :: execute custom command## Branches Panel (Branches Tab)
space: checkout o: create pull request c: checkout by name F: force checkout n: new branch d: delete branch r: rebase checked-out branch onto this branch M: merge into currently checked out branch i: show git-flow options f: fast-forward this branch from its upstream g: view reset options R: rename branch /: start search## Branches Panel (Remote Branches (in Remotes tab))
esc: return to remotes list g: view reset options space: checkout M: merge into currently checked out branch d: delete branch r: rebase checked-out branch onto this branch u: set as upstream of checked-out branch /: start search## Branches Panel (Remotes Tab)
f: fetch remote n: add new remote d: remove remote e: edit remote /: start search## Branches Panel (Tags Tab)
space: checkout d: delete tag P: push tag n: create tag g: view reset options /: start search## Commit Files Panel
esc: go back c: checkout file d: discard this commit's changes to this file o: open file space: toggle file included in patch enter: enter file to add selected lines to the patch /: start search## Commits Panel
/: start search## Commits Panel (Commits Tab)
s: squash down r: reword commit R: rename commit with editor g: reset to this commit f: fixup commit F: create fixup commit for this commit S: squash above commits d: delete commit ctrl+j: move commit down one ctrl+k: move commit up one e: edit commit A: amend commit with staged changes p: pick commit (when mid-rebase) t: revert commit c: copy commit (cherry-pick) C: copy commit range (cherry-pick) v: paste commits (cherry-pick) enter: view commit's files space: checkout commit i: select commit to diff with another commit T: tag commit## Commits Panel (Reflog Tab)
space: checkout commit g: view reset options## Files Panel
c: commit changes w: commit changes without pre-commit hook A: amend last commit C: commit changes using git editor space: toggle staged d: view 'discard changes' options e: edit file o: open file i: add to .gitignore r: refresh files s: stash changes S: view stash options a: stage/unstage all D: view reset options enter: stage individual hunks/lines f: fetch g: view upstream reset options /: start search## Main Panel (Merging)
esc: return to files panel space: pick hunk b: pick both hunks ◄: select previous conflict ►: select next conflict ▲: select top hunk ▼: select bottom hunk z: undo## Main Panel (Normal)
 ̄: scroll down (fn+up) ¦: scroll up (fn+down)## Main Panel (Patch Building)
esc: exit line-by-line mode ▲: select previous line ▼: select next line ◄: select previous hunk ►: select next hunk space: add/remove line(s) to patch v: toggle drag select V: toggle drag select a: toggle select hunk## Main Panel (Staging)
esc: return to files panel space: toggle line staged / unstaged d: delete change (git reset) tab: switch to other panel ▲: select previous line ▼: select next line ◄: select previous hunk ►: select next hunk e: edit file o: open file v: toggle drag select V: toggle drag select a: toggle select hunk c: commit changes w: commit changes without pre-commit hook C: commit changes using git editor## Menu Panel
esc: close menu q: close menu /: start search## Stash Panel
space: apply g: pop d: drop /: start search## Status Panel
e: edit config file o: open config file u: check for update enter: switch to a recent repo