Skip to content

The promote that would have deleted seven live pages

Date

4 Aug 2026

Category

Gotcha

Platform

Shopify

A brand we work with runs three regional storefronts, each theme connected to GitHub with a dev branch for staging work and a live branch that deploys to the storefront. Routine setup, and routine promoting, until we diffed the branches before a promote instead of trusting them. On two of the three stores, dev was missing files that only existed on live. Promoting would have deleted five customer-facing pages on one store and seven on the other.

What we found

When a theme is connected to GitHub, changes made in the theme editor sync back to the branch the live theme is connected to. So every landing page and template the team builds in the admin lands on the live branch, and the dev branch never hears about it. From git’s point of view dev is simply the newer state of the world, and a promote means making live look like dev. Anything that exists only on live becomes a deletion, the push reports success, and the pages are gone.

We carried the live-only files back into the dev branches, verified the branches matched in both directions, and made the diff a standing step. No promote happens on these stores without one.

What to take from it

If your theme deploys from git and your team also uses the theme editor, your branches are drifting in both directions at once. Code moves one way, editor changes move the other. Before anyone promotes a branch over the live one, diff them both ways and treat every file that exists only on live as someone’s work, because that is almost always what it is.