Concepts
Each branch runs on its own EC2 instance, restored from the parent at create time.merge runs a three-way diff against the parent’s create-time state. The branch shares the parent’s JWT_SECRET but gets its own API_KEY. Compute services and frontend deployments do not branch.
Usage
Create a branch withfull (schema + data) or schema-only (faster, empty user tables).
Specific usage cases
Use a branch for risky schema migrations, RLS rewrites, OAuth provider swaps, and edge function refactors. Skip it for trivial changes and data backfills (user-data rows are not auto-merged). Merges block on conflicts. Resolve on the branch or reset and retry. Quotas: 3 parent projects per org, 2 active branches per parent, no nesting. A successful merge does not auto-delete the branch.More resources
- Database migrations for forward-only SQL files.
- Database overview for what runs under each branch.
- CLI reference for the full
branchflag set.