Branches and tags
Switch branches, publish them, fetch, and create tags.
On this page
The current branch is shown in the Worktree header. Click it to open the branch switcher.
The branch switcher
The switcher lists every local and remote branch with a search box. Each row shows:
- Whether it’s the current branch.
- The configured upstream, if any.
- A
detachedbadge if you’re on a commit instead of a branch. - A
prunablebadge if the upstream is gone (the remote branch was deleted).
Click any branch to switch the current worktree to it. Right-click for per-branch actions:
- Rename — only on the current branch.
- Delete — requires confirmation; refuses unmerged branches without an extra force toggle.
To create a new branch, use New worktree (which also creates the branch) or use your shell. Plain “create branch but stay where I am” is intentionally out of scope here — the worktree-first model encourages a fresh tree per branch.
Pull, fetch, sync
The commit bar handles the common cases (Push, Pull, Sync, Publish — see Changes and commit). The Actions menu has the rest:
- Pull — merge in upstream changes.
- Pull with rebase — rebase your local commits onto upstream.
- Sync — pull, then push.
- Fetch — update remote-tracking refs without changing the working tree.
fetch is also worth running when you want the branch switcher to know about new remote branches without disturbing your working tree.
Publishing a branch
When a branch has no upstream, the commit bar shows Publish instead of Push. Click it; if you have only one remote it just runs git push -u <remote> <branch>. With multiple remotes you’ll be asked which to publish to.
Once published, the same button changes to Push and the branch switcher shows the upstream.
Tags
Two ways to create a tag:
- From the History view, right-click any commit and choose Create tag.
- From a dedicated Create Tag dialog reachable via the History toolbar.
The dialog asks for a tag name and an optional message (which makes it an annotated tag). Tags created this way push to the remote when you next push.