Keyboard

Keyboard shortcuts

Every commit action is a single key, and everything else is in the ⌘K command menu. This list is generated from the app itself, so it matches the version you download.

Map

With the commit list focused.

Next / previous commit↓↑
Page down / upPage DownPage Up
First / last commitHOMEEND
Quick View (or pick the search result)↵
Show or hide the detail panelSpace
Clear searchEsc
Jump to HEADH
Copy SHA⌘C
Copy link to commit⇧⌘C

Commit actions

Single keys on the selected commit in the map. Every change to history can be undone with ⌘Z.

Checkout branch⌘↵
Checkout (detached)O
Diff with HEADD
Create Branch…B
Create Tag…T
New Worktree Here…W
Merge into CurrentM
Rebase Current onto ThisR
Cherry-pick onto CurrentP
RevertV
Edit Message…E
Squash with ParentS
Fixup with ParentF
Split Commit…⇧S
Delete Commit⌫

Views

Use ⌥⌘ and the number, or press G, then the letter.

Since⌥⌘1
Review⌥⌘2
Map⌥⌘3
Commit⌥⌘4
Branches⌥⌘5
Stashes⌥⌘6
History⌥⌘7
Submodules⌥⌘8
RemotesGO
TagsGT
WorktreesGW
ReflogGR

Commit view

Next / previous file↓↑
Extend the selection (also ⇧-click; ⌘-click adds one file)⇧↓
Select every file in the list⌘A
Back to a single fileEsc
Stage or unstage the selected lines, else the selected files↵
Discard the selected unstaged files (undoable)⌫
Write the commit messageC
Switch between split and unified changesU
Commit⌘↵

Quick View

Next / previous file↓↑
Back to the mapEscorSpace

Anywhere in a repository

Search commits/
Create Branch…⌘B
Close Quick ViewEsc
Clean up finished branches and worktrees⌥⌘⌫

Edit menu

Undo⌘Z
Redo⇧⌘Z
Find…⌘F

Repository menu

Fetch All⇧⌘F
Pull Current Branch⇧⌘L
Push Current Branch⇧⌘P
Stash Changes…⇧⌘S
Stash Staged Changes…⌥⌘S
Switch Branch…⇧⌘B
New Worktree…⌥⌘N
Switch Worktree…⌥⌘W
Open Submodule…⌥⌘B
Update Submodules⌥⌘U
Git LFS Files…⌥⌘F
Open in Difftool⇧⌘D
Resolve Conflicts⌥⌘M
Open in Mergetool⇧⌘M
File History & Blame…⇧⌘H
Review Branch…⌥⌘V
Commit Identity…⌥⌘I
Remotes…⌥⇧⌘R
Write Commit Message with AI⌥⌘G
Pull Requests…⌥⌘P
Refresh Pull Requests⌥⇧⌘P
New Pull Request…⌥⇧⌘N
Check Out Pull Request…⌥⇧⌘O
Check Out Pull Request in New Worktree…⌥⇧⌘L
Approve Pull Request…⌥⇧⌘A
Merge Pull Request…⌥⇧⌘M
Request Changes on Pull Request…⌥⇧⌘K
Close Pull Request…⌥⇧⌘W
Open in Finder⇧⌘R
Open in Terminal⌥⇧⌘T
Open Origin in Browser⇧⌘G

File menu

Settings…⌘,
New Tab⌘T
New Window⇧⌘N
Reopen Closed Tab⇧⌘T
New Repository…⌘N
Open Repository…⌘O
Clone Repository…⇧⌘O
Close Tab⌘W
Close Window⇧⌘W

View menu

Command Menu⌘K
Back⌘[
Forward⌘]
Toggle Sidebar⌘S
Show Tags⌥⌘T
Show Remote Branches⌥⌘R
Show Colour Swatches in Diffs⌥⌘C
Cycle Theme⌃⌘T

Window menu

One tab per repository.

Show Next Tab⌃TAB
Show Previous Tab⌃⇧TAB
Tab 1⌘1
Tab 2⌘2
Tab 3⌘3
Tab 4⌘4
Tab 5⌘5
Tab 6⌘6
Tab 7⌘7
Tab 8⌘8
Last Tab⌘9

Help menu

Keyboard Shortcuts⌘/

Also in the ⌘K menu

Press ⌘K and type. Besides these commands, the menu lists every view, theme, branch, ref and recent commit.

View

  • Hide
  • Reorder sidebar sections…
  • Back
  • Forward
  • Show tags
  • Show remote branches
  • Show branches that would conflict
  • Mark branches that look agent-made
  • Show changes as one list
  • Show colour swatches in diffs
  • Reset pane sizes
  • Cycle theme
  • Jump to HEAD

Navigation

  • Open History & recovery
  • Open Reflog (History & recovery)

App

  • Choose git…
  • Use system git
  • Turn pull requests on
  • Set up AI commit messages…
  • Open repository…
  • Switch repository…
  • Clone repository…
  • New tab
  • New window
  • Close tab
  • Reopen closed tab
  • Next tab
  • Previous tab
  • Close repository
  • Remove from recent…
  • Check for updates
  • Export shortcuts…
  • Import shortcuts…
  • Reset all shortcuts to defaults
  • Preferences…
  • Keyboard shortcuts
  • Choose defaults…
  • Turn off automatic update checks

Repository

  • Fetch all remotes
  • Pull current branch
  • Push current branch
  • Force push current branch (with lease)
  • Write commit message with AI
  • Pull requests…
  • Refresh pull requests
  • New pull request…
  • New pull request from branch…
  • Check out pull request…
  • Check out pull request in new worktree…
  • Approve pull request…
  • Request changes on pull request…
  • Review pull request…
  • Merge pull request…
  • Close pull request…
  • Hide pull requests in this repository
  • Choose remote for pull requests…
  • Manage remotes…
  • Add remote…
  • Set commit identity…
  • Push all tags
  • Stash changes…
  • Ask before auto-stashing on checkout
  • Stash staged changes…
  • Create branch at HEAD…
  • Reset hard to HEAD…
  • Git LFS files…
  • File history & blame…
  • Open file in difftool
  • Select all files in list
  • Open conflicts in mergetool
  • Switch branch…
  • Open in Finder
  • Open in Terminal
  • Open in hosting service
  • Open origin in browser
  • Delete
  • Clean up finished branches and worktrees…
  • Repository settings…

Conflicts

  • Resolve conflicts…

Worktrees

  • New worktree…
  • Switch worktree…
  • Prune missing worktrees
  • Lock

Submodules

  • Open submodule…
  • Update all submodules

Review

  • Reload pull requests
  • Plan merge…
  • Make chain a GitHub stack
  • Merge plan: merge anyway
  • Show every active branch in Branches
  • Show agent-made branches in Branches

Branches

  • Tick everything safe to remove
  • Also delete them on GitHub (on or off)
  • Delete

Since

  • Mark since
  • Since…
  • Reload merged pull requests
  • Show everything that landed
  • Mark the next file viewed

Commit

  • Checkout selected commit
  • View author on GitHub
  • Copy link to selected commit
  • Split selected commit…