# 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