# Branches

Branches, remote branches, tags, stashes, worktrees, submodules and subtrees are listed in the sidebar of the Git
module. Right-click any of them for what you can do with it.

## Create a branch

- **Repository › New Branch…** (`⇧⌘B` on macOS, `Ctrl+Shift+B` on Linux).
- From a branch's context menu, **New Branch…**.
- From a commit's context menu, **Create Branch from '…'…**; from a tag, **Create Branch from '…'…**.
- **Repository › Create Branch from Selected Commit…**.

The dialog checks the name as you type and can check the new branch out at once.

## Check out a branch

**Repository › Checkout Branch…** (`⌘B` / `Ctrl+B`), or **Checkout** in the branch's context menu. To look at a
commit without a branch, use **Checkout Commit…** from the commit's context menu or **Repository › Checkout Selected
Commit**; HEAD is then detached.

## Track a remote branch

**Checkout** on a remote branch creates a local branch that tracks it. Every local branch shows how many commits it is
ahead of and behind its upstream.

## Delete a branch

**Delete…** in the branch's context menu. tratto shows the commit the branch points at and asks you to confirm before it
deletes it.

## More from the branch menu

- **Merge '…' into '…'…**, or drag a branch onto another: see [Merge, cherry-pick & revert](/docs/git/merge).
- **Create Pull Request…**: see [Pull requests](/docs/git/pull-requests).
- **Notify me** or **Mute** for activity on that branch: see [Notifications](/docs/home/notifications).

## Not there yet

Renaming a branch is not supported yet: there is no rename in the app or in its Git core.
