Everything from the keyboard with ⌘K
By the end of this guide you will switch branches, run a merge, jump to a commit and open another repository without touching the mouse. Two shortcuts carry most of it: ⌘K for commands and ⌘P for repositories.
Open the palette
Press ⌘K in any view, or choose View › Command Palette…. The box says "Type a command, a branch or a commit hash", and that is the whole idea: one field, three kinds of thing.
Results arrive in groups, with the most relevant first. ↑ and ↓ move, ⏎ runs, Esc closes. Pressing ⌘K again while it is open closes it too.
Switch branches
- Press ⌘K and type part of a branch name, such as
flaky. - The Branches group lists "Switch to fix/flaky-tests" for local branches and "Check out origin/fix/flaky-tests" for remote ones you have not checked out yet.
- Press ⏎. A toast confirms "Switched to fix/flaky-tests." For a remote branch, Mergepond creates a local branch that tracks it and switches to that.
If no branch matches, "New branch…" is always in the group and opens the branch sheet with your text as the name.
Merge, rebase and cherry-pick
Type a branch name and look past the Branches group. "Merge and rebase" offers "Merge X into current", "Rebase current onto X" and "Interactive rebase onto X…". Type a commit hash, or a word that appears in a commit message, and a "Commit" group offers "Cherry-pick onto current", "Revert", "Interactive rebase from here…" and "Create tag on…".
These are the same commands as the right-click menu on a commit or a branch in History; the palette just saves the trip.
Jump to a commit
Type a short hash, a tag or a branch name as a single word and the palette adds "Jump to … in History". ⏎ switches to History with that commit selected and the inspector showing its files. For a fuller search by author, path or date, pick "Find commits…" from the History group, or press ⌘F directly; Find any commit covers that.
Switch repositories with ⌘P
⌘P, or File › Switch Repository…, opens the same field in a second mode: "Switch to a repository or worktree". The groups are your open tabs, the repositories in this workspace, your worktrees (shown as "name (branch)"), recent repositories, and at the bottom "Open another repository…", which is ⌘O.
⌘T is identical except the repository opens in a new tab instead of replacing the current one.
Everything else that is in there
A short tour of the groups, so you know what to type:
- In progress appears only during a merge, rebase, cherry-pick or revert: continue, skip, abort, or show the conflicted files.
- Worktrees: create a worktree from a branch (⌘N), with a new branch, or from a pull request (⌘⇧N); show the board (⌘3); remove merged or gone worktrees; open a named worktree here, in a new window or in Terminal.
- Files: type a path and you get "Blame" and "History of" that file.
- Remote: Fetch, "Pull N from upstream", "Push N to upstream", with the counts filled in.
- Changes: "Stash all changes" and "Commit staged changes" (⌘⏎).
- Repository: update submodules, pull LFS files, open a recent repository, close this one.
- Workspaces: switch to another workspace, manage workspaces and identities, change which identity this repository commits as.
- View: the three views, Appearance, Settings, and "Use the Dark colour scheme" and friends, so a scheme is two keystrokes away.
Get more from it
- The palette is the fastest way to learn the app. When you wonder whether Mergepond can do something, type a verb into ⌘K before you go looking in menus.
- Shortcuts shown on the right of a result work outside the palette as well.
- Esc closes the topmost thing only, so pressing it once from the palette returns you to the sheet or the find bar underneath, if there is one.
- In the Changes list, ↑ and ↓ move between files and Space stages or unstages; in History, j and k work alongside the arrows, and Home and End jump to the newest and oldest commit loaded.