Documentation › Get started

Moving branches between stages

Drag and drop a branch to change its stage or merge it, and what happens to the databases.

Drag and drop

In the Branches list, drag a branch onto another stage's header to move it there. You can also click the stage tag next to the branch name and pick Move to . Drop a branch onto another branch to merge it into that branch on GitHub.

Move or merge Confirm the dialog. A move changes the stage but doesn't build yet.

Rebuild The branch shows This branch is now staging… with a Rebuild now button. The next build uses the new stage's rules. A merge pushes to GitHub, which starts a build on the target branch.

What happens to the databases

To staging : the next build is a fresh, neutralized copy of production. The branch's old development database is dropped once the new build is up.

To production : the next build uses the project's production database. If there is none yet, it is created with your modules and without demo data.

To development : the next build starts from a new database with demo data. A branch coming back from staging is set to Do nothing on new commits, so it only builds when you ask.

The production database is never dropped by a build, even when the production branch is moved away.

Rules

A project has one production branch.

A staging branch can't become production, and production can't become staging. Merge the code instead: dropping production on the Staging header merges it into the staging branch.

Moves that involve production need the admin role. The number of staging branches is limited in Settings → Staging branches .

A merge with conflicts is refused: merge locally with git and push.

A typical flow Work on a development branch → merge it into staging and test with real data → merge staging into production.