[**@lancedb/lancedb**](../README.md) • **Docs**
***
[@lancedb/lancedb](../globals.md) / Branches
# Class: Branches
Branch manager for a [Table](Table.md).
Unlike tags, `create` and `checkout` return a new [Table](Table.md) handle scoped
to the branch; writes on it do not affect `main`.
## Methods
### checkout()
```ts
checkout(name, version?): Promise
```
Check out an existing branch and return a handle scoped to it.
With `version` set, the returned handle is pinned to that version of the
branch (a read-only, detached view); otherwise it tracks the branch's
latest and stays writable.
#### Parameters
* **name**: `string`
* **version?**: `number`
#### Returns
`Promise`<[`Table`](Table.md)>
***
### cherryPick()
```ts
cherryPick(fromBranch, dryRun): Promise
```
Cherry-pick a branch onto main.
Set `dryRun` to `true` to preview. A failed cherry-pick resolves
with `status: "failed"` instead of throwing.
#### Parameters
* **fromBranch**: `string`
Branch to cherry-pick from.
* **dryRun**: `boolean` = `false`
When true, only preview. Defaults to false.
#### Returns
`Promise`<[`CherryPickResult`](../interfaces/CherryPickResult.md)>
***
### create()
```ts
create(
name,
fromRef?,
fromVersion?): Promise
```
Create a branch and return a handle scoped to it.
#### Parameters
* **name**: `string`
Name of the new branch.
* **fromRef?**: `string`
Source branch to fork from. Defaults to `main`.
* **fromVersion?**: `number`
A specific version on `fromRef`. Defaults to latest.
#### Returns
`Promise`<[`Table`](Table.md)>
***
### delete()
```ts
delete(name): Promise
```
Delete a branch.
#### Parameters
* **name**: `string`
#### Returns
`Promise`<`void`>
***
### diff()
```ts
diff(fromBranch): Promise
```
Compare a branch against main without modifying either branch.
#### Parameters
* **fromBranch**: `string`
#### Returns
`Promise`<[`BranchDiff`](../interfaces/BranchDiff.md)>
***
### list()
```ts
list(): Promise>
```
List all branches, mapping name to branch metadata.
#### Returns
`Promise`<`Record`<`string`, [`BranchContents`](BranchContents.md)>>