What are Publishing Conflicts?

Last modified: March 28th, 2025

In CloudCannon, a Publishing Conflict occurs when there are two versions of the same file on two different but connected branches, one on your CloudCannon Site and one on your Publish Branch.

A Publish Branch the branch immediately "upstream" of the branch you are working on, and is the copy of your website to which you want to publish your changes. Publishing Conflicts can occur if you connect a Publish Branch to your Site.

When you attempt to update your Site from its Publish Branch, CloudCannon can detect if incoming changes conflict with the changes saved to your current Site. To prevent one version of the file from overwriting the other, CloudCannon will pause your update attempt and alert you to the Publishing Conflict.

  • Publishing Conflict — When incoming changes to a file from your Publish Branch conflict with changes to the same file on your Site.
  • Incoming changes — These are changes to your Site files originating from outside the branch you are working on, such as from a different branch, CloudCannon Site, or your git repository. All incoming changes are made by a member of your team.

Publishing Conflicts aren't dangerous to your content or website — they're CloudCannon's way of letting you know that there are two versions of your file, and that you need to choose how to proceed.

CloudCannon will notify you about a Publishing Conflict using the Conflicts warning notification above the Publish button in your Site Navigation.

A screenshot of the Publish Button in the Site Navigation shows a Conflicts warning notification in the top right.

You must resolve the Publishing Conflict before CloudCannon will allow you to save any changes to files on your Site. For more information, please read our documentation on resolving publishing conflicts.

Example#

Let's go through an example of how a Publishing Conflict can occur.

A diagram of a branching workflow shows three project branches publish to the Staging Branch, which publishes to the Live Website branch.

We want to remove a product page from our website. We create a new Site branch to work on our changes without affecting the live Site. On our Site, we delete the product page and edit the products.html page to remove the link to the page we just deleted from the list of all our available products. We save these changes to our Site.

Coincidentally, another team member is also updating the products.html file at the same time. Our team member is changing our main website navigation and wants to rename the /products/ page to /services/. This effectively deletes the products.html file and replaces it with the services.html file.

Before we can publish our changes to the Publish Branch (i.e., the "Staging website"), our team member publishes their changes to the same Publish Branch. CloudCannon detects that someone has updated the Publish Branch and notifies us that updates are available for our Site. When we try to update from our Publish Branch, CloudCannon detect the conflicting versions of the products.html file.

We have updated the file's contents by removing a link, and our team member has deleted the file entirely and replaced it with services.html.

CloudCannon will notify us about the Publishing Conflict on the Publish button and on the Publishing page.

Before we can save any changes to files on our Site or complete the update from our Publish Branch, we need to resolve the Publishing Conflict for products.html by choosing which version of the file to keep: the changes on our current Site, the incoming changes from the Publish Branch, or a hybrid of the two. In this example, we want to create a hybrid of the two commits (remove the link from the new services.html file and delete the products.html file) and let CloudCannon complete the update from our Publish Branch.

Open in a new tab