What is branching?

Last modified: June 23rd, 2026

On this page

Site branching from within a Project is available on our Team or Enterprise plan. On our Standard plan, your developer can set up additional Sites on different branches manually.

Want to chat about whether this feature is right for you? Our support team is always happy to hear from you.

Branching is the process of copying information (e.g., content, code, and CloudCannon settings) from an existing Site to a new Site. Each branched Site is independent, so you and your Team Members can work on different tasks without affecting each other's work, and without affecting your live website. To create branched Sites yourself, your developer needs to have created a Project for your website.

What is a Main Branch?#

The Main Branch is the branch in your Git Repository that your developer selected as the primary branch when they created your Project. By default, you can only branch from the Main Branch. You can change this branch at any time by setting the Main Branch for your Project.

If your developer has turned on Allow all branching, you can also branch from any other Site in your Project. This means you can start your work from a Site with unreleased changes on it, such as a Team Member's in-progress branched Site.

You can see the name of your Project's Main Branch in the Source branch field when you create a new branched Site. For more information, please read our documentation on creating a branched Site.

A screenshot of the Create a Site page within a Project, showing the Source branch field set to the Project's Main Branch.

What happens when you branch a Site#

A branched Site starts as an exact copy of the Site it was branched from, stored in the Git Repository managed by your developer, alongside the source Site. CloudCannon handles communicating with the repository for you; you don't need access to your Git Provider to branch a Site or edit and save content.

You can create a copy of your website at any time, without help from your developer, by branching a Site in your Project. Any changes you make on the branched Site stay separate from any other Site until you are ready to publish them. As you work, only the parts you and your Team Members have intentionally changed will diverge from the source Site. You can view your changes on the branched Site's dedicated Testing Domain and, when you are ready, publish them back to the branched Site's Publish Branch. For more information, please read our documentation on what publishing is.

Who can branch?#

Once a developer has set up the Publishing Workflow for your Project, anyone in Default Permission Groups (except Billing) can create a branched Site from the Project Sites Browser. However, if your Organization uses Custom Permission Groups, you will need permission to branch. For more information, please read our documentation on creating a branched Site.

An example of branching#

In the diagram above, there are five Sites. "Production" is the live version of your website; the other four are branched Sites.

"Staging" is a branched copy of "Production". The three Sites below — "Write a new blog", "Remove a product page", and "Update Site navigation" — are each branched from "Staging". Different Team Members can work on each one independently without affecting the others or the live website.

For more information, please read our documentation on creating a branched Site.

Related Resources

Open in a new tab