Branch Management
Manage Git branches directly from the Local Branches panel.
Keybindings
| Key | Action | Notes |
|---|---|---|
< / > | Switch Component Panel | Switches between Local Branches, Tags, Remotes |
n | Create New Branch | Opens branch creation flow |
e | Rename Selected Branch | Opens the rename input |
y | Copy Branch Details | Copies the branch name or upstream |
enter | Switch to Selected Branch | Opens switch branch popup if needed |
d | Delete Selected Branch | Deletes branch (opens confirmation if needed) |
r | Rebase onto Another Branch | Checked-out branch only; supports --autostash |
m | Merge Branch into Current | Opens multi-branch merge selector |
F | Filter Branch List | Type to filter, enter to apply, esc to clear |
The Local Branches, Tag, and Remote panels share the same space. Use < / > to switch between them.
Workflows
Creating a New Branch
- Trigger: Press
nin the Local Branches panel. - Popup: The Choose New Branch Type popup appears with 4 options:
- New Branch: Creates the branch based on current HEAD.
- New Branch & Switch: Creates and switches immediately.
- New Branch From Remote (manual input): Manually enter a remote branch name to base the new branch on.
- New Branch From Remote (user selection): Select from a list of available remote branches.
- Next Popup:
- If a "From Remote" option was selected, you'll first choose or enter the remote branch.
- Then, the Create New Branch input popup appears.
- Input: Type the new branch name.
- Submit: Press
enter.
Use New Branch From Remote (user selection) to browse all available remote branches without needing to know the exact name in advance.
In the remote branch picker, type to filter the list as you enter text. Use ↑/↓ to select a matching branch and press enter to continue to the new branch name.
Renaming a Local Branch
- Select the branch in the Local Branches panel.
- Press
eand enter the new branch name. - Press
enterto rename it.
This action renames local branches only.
Switching to Another Branch
- Select: Use
↑/↓orj/kto select a branch in the Local Branches panel. - Trigger: Press
enter. - Popup: If conflicts or uncommitted changes exist, a Choose Switch Branch Type popup appears.
- Output: A Switch Branch Output popup shows the result.
Deleting a Branch
- Select: Highlight the branch you want to delete.
- Trigger: Press
d. - Confirmation: A confirmation popup appears (e.g., when force deletion is needed).
Rebasing onto Another Branch
Rebase the currently checked-out branch onto any local or remote branch.
r only works when the selected branch is the currently checked-out branch. It will not activate if another branch is selected.
- Select: Highlight the currently checked-out branch.
- Trigger: Press
r. - Select Remote: A popup lists all configured fetch remotes and an empty option at the top for rebasing onto a local branch. Choose the appropriate one.
- Enter Branch Name: Type the name of the branch to rebase onto.
- Submit: Press
enter. The rebase runs with--autostash, so any uncommitted changes are automatically stashed and re-applied after completion.
Merging a Branch into Current
Merge one or more branches into the currently checked-out branch.
- Trigger: Press
min the Local Branches panel. - Popup: The Choose Branch to Merge selector opens in a two-panel layout:
- Left panel: List of selectable branches.
- Right panel: List of branches queued for merging.
- Select: Navigate with
↑/↓and move branches between panels withspaceorenter. - Switch panels: Use
tab/shift+tabto toggle focus between the two panels. - Execute: Confirm once selection is complete.
The merge strategy (fast-forward or non-fast-forward) is controlled by the --ff-merge configuration flag. See Configuration for details.