Branches and tags
Switch branches, publish them, fetch, and create tags.
- Desktop
- Web Portal
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.