Shopify / Shopify/cli

[Feature]: Multiple Stores Using Same Github Branch

Open
#3,509 47 comments 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area: @shopify/theme Type: Enhancement
Dominant language
TypeScript
Stars
750
Forks
293
Avg merge
3d 20h
Merged PRs (30d)
79

Description

What area(s) will this request affect?

Deployment

What type of change do you want to see?

Substantial change to existing feature

Overview

As many people have found (see articles linked at the bottom) there are issues about running the same theme on multiple GitHub branches, for multiple stores. But that setup is a very common scenario for us devs.

The problem

The problem is simply summed up in that the theme's json files (that holds settings/customizations) will be individually altered by the integrated themes and pushed from Shopify to GitHub.
If I then push new code edits from my dev theme to the live branches, there will mostly be conflicts. Going through these conflicts individually is cumbersome, and prone to errors.
(For example: If the local json files have been altered while testing and developing, and there is no conflict, because develop is ahead of live branches — then the test settings are accidentally merged to live themes without conflict.)

The solutions suggested in the various articles come so close to an automated version, enabling us to ignore config/*json, templates/*json and locales/*json, but it doesn't quite land. I've spent hours trying to automate the flow for one client, but I reach a dead end each time I think I almost made it.

The solution

I have no specific suggestion as to how to solve it, but I first wanted to gauge the interest and see if this feature request gains some traction. And also by linking all the articles below, I want to highlight that this is an issue that many people have dived into deeply, without luck.

Maybe the solution would be something about how the Shopify GitHub integration interacts with .gitignore files. Maybe it would be something in the CLI itself. But this scenario is well worth a solution, since almost any international store benefits from this.

Conversations around this topic, which all lead to the same dead end (except maybe one very complex setup outside of the Shopify eco-system, which I have not personally tested):

Motivation

Trying to maintain and develop the same theme over multiple stores, using GitHub branches, without overriding settings pushed from the Shopify GitHub integration.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or CLI entry points are named. Start by locating the deployment and Shopify GitHub integration areas that handle theme JSON synchronization, then work with maintainers to define a scoped solution and its acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, typescript
Domain
cli, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.