Skip to content

Shortcuts and reference ​

Every shortcut and menu in BranchPilot 1.0.0, and the Git command each action runs.

Keyboard shortcuts ​

ShortcutAction
SpaceStage or unstage the file whose diff is open.
Ctrl + EnterCommit or amend. Works while the cursor is in the subject or description.
F5Fetch all remotes.

Space is ignored while a text field has focus.

Header buttons ​

ButtonAction
Fetch all remotes (F5)Downloads from every remote.
PullFetches and integrates into the current branch. Shows the behind count when there is one.
PushUploads the current branch. Shows the ahead count when there is one.
More push optionsHolds Force push (with lease)….
Refresh everythingReloads status, branches, tags, stashes, worktrees and the graph.

Context menus ​

A commit in the graph (right-click) ​

ItemNotes
Interactive rebase onto this commit…Unavailable on the current commit or with a detached HEAD.
Copy hashCopies the full hash.
Cherry-pick this commitAsks for a parent on merge commits.
Revert this commitAsks for a parent on merge commits.
Create tag here…Annotated when you give a message, lightweight otherwise.
Reset branch to here…Soft, Mixed or Hard.

A branch in the sidebar (right-click) ​

Checkout, Merge into current…, Rename…, Delete…. Double-click also checks out.

Other sidebar menus ​

SectionItems
RemotesCheckout as local branch on each remote branch.
TagsPush to remote, Delete…
StashesShow diff, Apply, Pop, Drop…
WorktreesRemove…

Actions that ask first ​

ActionSafeguard
Force pushType the branch name.
Hard resetType the branch name.
Delete a branchConfirmation; a second one (Force delete) for unmerged branches.
Delete a tagConfirmation.
Drop a stashConfirmation.
Remove a worktreeConfirmation; a second one (Force remove) when it has changes.
Abort a merge, rebase, cherry-pick or revertConfirmation.
Skip a commit during a rebaseConfirmation.

The Git command behind each action ​

BranchPilot runs git for every action. Knowing the command helps when you read Git's own documentation or an error message.

ActionCommand
Stage a filegit add -- <path>
Stage allgit add -A
Unstage a filegit reset -q -- <path>
Unstage allgit reset -q
Stage or unstage a hunkgit apply --cached with that hunk as a patch (-R to unstage)
Commit / amendgit commit / git commit --amend
Fetchgit fetch --all --prune
Pullgit pull --no-edit
Pushgit push
Push a branch with no upstreamgit push -u <remote> <branch>
Force pushgit push --force-with-lease
Create a branchgit checkout -b <name>, or git branch <name> without Check out
Check out a remote branchgit checkout -b <local> --track <remote branch>
Delete a branchgit branch -d <name> (-D for Force delete)
Mergegit merge --no-edit <name>
Take ours / Take theirsgit checkout --ours / --theirs, then git add
Mark resolvedgit add -- <path>
Stashgit stash push, with -u for Include untracked
Interactive rebasegit rebase -i --empty=drop --no-autosquash <base>
Cherry-pick / revertgit cherry-pick <hash> / git revert --no-edit <hash>
Resetgit reset --soft, --mixed or --hard
Taggit tag <name> or git tag -a <name> -m <message>
File historygit log --follow for the file

Limits and behaviour ​

ItemValue
Git version required (.deb, PPA)2.28 or newer
Commits loaded per page in the graph500, with more loaded as you scroll
Recent repositories remembered15
Subject length guide72 characters (amber above 50, red above 72)

BranchPilot has no settings screen. It follows your Git configuration.

Next steps ​