Files
supabase/apps/docs/content/guides/deployment/branching/dashboard.mdx
T
59c8ea3ddc docs(BRA-282): clarify that branches are created as clones of the base project (#49594)
## What kind of change does this PR introduce?

Docs update.


## What is the new behavior?

The branching docs now state consistently that every branch, preview or
persistent, is created as a clone of the base project, starting with
that project's schema, Edge Functions, and configuration. Data and
storage objects are not cloned by default.

## Additional context

This documents new branch-creation behavior. Two automated reviewers
flagged the clone wording and argued for a migration-replay description;
that reflects the previous implementation, so their findings don't apply
here and the clone framing stands.

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jeremias Menichelli <jmenichelli@gmail.com>
2026-08-28 17:35:24 +08:00

90 lines
4.7 KiB
Plaintext

---
title: 'Branching via the dashboard'
subtitle: 'Create, manage, review, and merge branches directly in the dashboard'
---
You can create, manage, review, and merge Supabase branches directly via the dashboard. This is useful for quick testing, prototyping, or when you prefer to work in a no-code way. You can also connect a Supabase branch to a GitHub branch at a later time if needed.
<Admonition type="note" title="Public Alpha">
Branch management via the dashboard is currently in public alpha. Features and functionality may change.
</Admonition>
## How Branching works
You can do the following directly from the Supabase dashboard:
- Create preview branches
- Make changes to your public schema or edge functions
- Merge these changes back into production when ready
- Pull in updates from production
## Enable branch management via the dashboard
This functionality is currently in beta and requires opting in. To opt in you must enable the feature preview:
1. Open the user menu by clicking on your user icon in the top right.
1. Select **Branching via dashboard**.
1. Click **Enable feature**.
## Creating a branch
<Admonition type="note">
When using dashboard branching without a GitHub integration, the branch dropdown displays `main / PRODUCTION` on every project, but on a brand-new project the production branch hasn't been registered yet. The first "Create branch" click populates this row behind the scenes — technically enabling branching on the project — and requires Owner/Administrator access. After that one-time step, anyone with the Developer role can create, update, and delete preview branches.
</Admonition>
Once you've enabled the feature, you can create a new branch:
1. Click the arrows next to the branch name in the top menu bar. (The top menu bar has the format `YOUR_ORGANIZATION / YOUR_PROJECT / CURRENT_BRANCH_NAME`.)
2. Click `Create branch`.
The new branch is a clone of your base project. It starts with the project's schema, Edge Functions, and the configuration set.
### Include production data
By default, a branch starts without any of your production data or storage objects. If your project has the Point-in-Time Recovery add-on, you can turn on **Include data** when you create the branch to copy your production data into it.
<Admonition type="caution">
A branch created with **Include data** holds a copy of your production data, treat it with the same care as production.
</Admonition>
<Admonition type="note">
A branch uses a larger disk and matches the compute size of your project, which increases its cost.
</Admonition>
## Making changes to a branch
Use the branch selector in the top bar to change to your branch. Any changes you make (including SQL run in the SQL editor, table editor changes, and configuration changes) are now made against the currently selected branch.
You can also use the branch's API keys and connection strings to run changes against the branch from your own code or SQL client.
## Creating a merge request
To review and merge changes from a branch back into your production branch, you must first create a merge request. There are two ways to do this.
The first is to click the merge request button next to the branch selector that's located in the top menu. This will create the merge request and redirect you to the merge page where you can review and merge any changes.
The second is to click on manage branches from within the branch selector, then in the left hand navigation you can click on merge requests. From here you can view all open merge requests and create new ones.
## Pulling changes from production into a branch
When reviewing a merge request you may see a notice at the top of the page asking you to update your branch. This appears when your preview branch has drifted from your production branch. There may be public schema or edge function changes that have been made after your preview branch was created. Clicking update branch will attempt to pull in these changes, but be aware that by doing this your existing edge functions will be replaced. Any new edge functions created on the preview branch will remain untouched.
## Limitations
There are a few limitations you should be aware of before deciding to use branching without git.
- Custom roles created through the dashboard are not captured on branch creation
- Branches can only be merged to main; merging between preview branches is not supported
- If your branch is out of date, you can pull in latest changes from main, but keep in mind that all functions will be overwritten
- Deleting functions must be done manually on main branch
- Migration conflicts must be manually resolved on the preview branch
- If you have run migrations on main, new branches will be created from existing migrations instead of a full schema dump