# Branches

> Try bigger changes on a copy of your app, then merge them into the live version.


A branch is a copy of your app where you can make changes without touching the live version. Each branch has its own chat, code and preview link. Branches are available on Pro (3 per app) and Pro+ (10 per app).

## Create a branch

Click the branch name next to the project title (it says **main**), then **New branch**. Give it a short name like `new-checkout`. Draftship copies the current files and builds the branch. That doesn't count against your limits.

The branch gets its own address: `new-checkout-…draftship.site`. Share it with testers while the main app stays unchanged.

## What branches share

Branches use the **main app's backend**: the same data, users, secrets, connectors, agents and automations. Test data you create on a branch is real data.

New tables, automations and agents defined on a branch take effect when you merge it.

## Merge into main

The bar at the top of a branch shows how many files it changed (↑) and how many changes main has that the branch doesn't (↓). Click it to see the files.

- **Merge into main** brings the branch's changes into the live app. Changes made on main in the meantime are kept.
- **Pull from main** brings main's newer changes into the branch, so you can test them together before merging.

If the same file changed on both sides, you choose which version to keep. Everything else is combined automatically. Every merge creates a version in [Version history](/docs/data/version-history), so you can roll back.

Deleting a branch never affects main. Deleting the main app deletes its branches too.
