# Switch

Switching branches in JadeGit, also known as “checking out”, changes your current branch. This operation is blocked when there are uncommitted changes. Switching branches triggers an [internal deployment](https://jadelab.gitbook.io/jadegit/developers/internal-deployment) to update schema entities to match the target branch.

## Checkout

Switch between local branches using the drop-down in the JadeGit Changes explorer, which shows the current branch.

<figure><img src="https://293682865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ7MmywDXjpFYcL5gQDv2%2Fuploads%2FmY6r8fNgGMiXNWKvd20j%2Fimage.png?alt=media&#x26;token=f69b100d-ef2d-4214-9200-62222ac19f37" alt=""><figcaption></figcaption></figure>

When creating a new branch, selecting **Checkout (load & set)** will switch to it after creation.

When managing branches, the current branch is highlighted in blue. You can switch to a branch by using **Checkout** in the branch context menu, or by double-clicking the branch. If a remote branch is selected, a corresponding local branch will automatically be created to switch to.

<figure><img src="https://293682865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ7MmywDXjpFYcL5gQDv2%2Fuploads%2F7EMxywH8G4xoAHY730Pq%2Fimage.png?alt=media&#x26;token=0a9181f0-73ca-458e-aca9-033e329bcd1f" alt=""><figcaption></figcaption></figure>

## Checkout (--detach)

From the commit context menu in any history view, **Checkout (--detach)** switches to the selected commit in a [detached state](https://git-scm.com/docs/git-checkout#_detached_head).

<figure><img src="https://293682865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ7MmywDXjpFYcL5gQDv2%2Fuploads%2FKfNYGVMzGswBQ5rhm1T2%2Fimage.png?alt=media&#x26;token=677e4edd-6a77-458c-94b3-e72572b57720" alt=""><figcaption></figcaption></figure>

When managing branches, **Checkout Tip Commit (--detach)** in the branch context menu switches to the tip of the selected branch in a detached state.
