Settings & shortcuts
Settings
| Setting | Default | What it does |
porcelain.diff.openIn | floatingWindow | Where diffs, changed-file lists, the conflicts view and the merge editor open. editorTab keeps them in the main window. Falls back to tabs when the editor build can't open a window. |
porcelain.diff.viewer | porcelain | Which renderer shows file diffs. native is VS Code's own diff editor. |
porcelain.push.protectedBranches | ["main","master"] | Regular expressions matched against the whole branch name. Force push is refused on a match. |
porcelain.update.method | merge | How Update Project brings the branch up to date: merge or rebase. |
porcelain.fetch.tags | auto | Whether fetching brings tags: auto follows git's configuration, all, or none. |
Editor shortcuts
These are VS Code keybindings, so they show in the Keyboard Shortcuts editor and can be rebound. Windows and Linux use Ctrl for ⌘ and Alt for ⌥.
| Keys | Command | Where |
| ⌘⇧K | Push… | Anywhere. |
| ⌘⌥G | Git Operations… | Anywhere. |
| ⌘F7 / ⌘⇧F7 | Next File / Previous File | An editor has focus; steps through the changed files' diffs. |
Inside the views
These live inside Porcelain's own panels and follow IntelliJ.
| Keys | Action |
| ⌘G | Go to hash, branch or tag, in the Git Log |
| ⌘⏎ | Commit, from the message box |
| ⌘D | Show Diff for the selected file, in Commit and Shelf |
| ⌥⌘Z | Rollback the selected files |
| ⇧⌘U | Unshelve |
| ⌘F | Find, in a diff or a merge pane |
| ⌘S | Save the working-tree side of a diff (a read-only side ignores it) |
| ⌘Z / ⇧⌘Z | Undo and redo in an editable pane, covering typed edits and gutter verbs |
| ⌘A | Select all in an editable pane |
| Esc | Close the menu, popup or find bar |