GitHub Integration doesn't support the .gitignore file

Topic summary

GitHub integration for Shopify themes does not respect .gitignore, causing config/settings_data.json and other data files to be committed and synced across stores. This leads to unintended overwrites of theme settings and content between dev, staging, and production.

Support’s suggestion to use separate branches per store is viewed as insufficient, since merges still include settings_data.json and other data files. Teams want data (homepage content, templates, locales) treated differently from code.

Desired behavior: have GitHub integration honor .gitignore similar to Theme Kit. Example ignore patterns shared: config/settings_data.json, locales/* (except locales/.schema.json), templates/.json.

Recent workaround: a blog-guided workflow where a merge action automatically fails if templates, settings_data, or locales files change, forcing manual edits in Shopify’s code editor. Considered a partial step, not a full CI solution.

Status: No official fix or resolution. Multiple users report the same issue; discussion remains open. Note: .gitignore is a Git file that excludes specified paths from version control.

Summarized with AI on January 31. AI used: gpt-5.

It looks like the theme GitHub Integration doesn’t support the .gitignore file

I want to distribute the theme code via GitHub without loosing the store custom settings. Is it possible?

9 Likes

I have the same problem - I have config/settings_data.json in a gitignore file, but any theme settings I change are causing that file to be pushed to the repo anyway, so my other stores end up syncing each others’ wrong theme settings :confused:

Support suggested connecting a different branch for each store, but I don’t see how that would fix it - at some point you still need to merge the branches up or down with dev updates, and settings_data.json will still be in there…

5 Likes

We have exactly the same issue, we don’t want to overwrite the files in /config directory.

But the GitHub integration does not support the .gitignore file :disappointed_face:

2 Likes

Same issue here. Hoping it’ll be fixed soon!

1 Like

I’m having the same trouble!

How can we use GitHub integration at all if settings_data.json has to be synced between different branches?

The dev and staging themes should not be supposed to have the same content on the homepage.

This is content, it shouldn’t be handled the same way as code!

3 Likes

Hi @MP , did you manage to find a workaround for this issue?
I am setting up a project with a 2.0 theme and I am running into the same problem, since I have two stores and Shopify Github integration doesn’t ignore the templates folder and the settings_data file even though I added them to the .gitignore file

In addition to the /config/settings_data.json file, we should be able to also ignore any other data file in a 2.0 theme.

The .gitignore file we use on my team for Themekit has these contents, but this should be respected in the Github integration as the OP states.

config/settings_data.json
locales/*
!locales/*.schema.json
templates/*.json

I have come across this blog article about setting up a workflow with a single github repo and tested it on my store. The merge action automatically fails if any of the templates, settings_data or locales files is changed, and you need to manually edit the files in the Shopify code editor.

Still not ideal as a continuous integration tool like Buddy, but a step in the right direction

https://serieseight.com/journal/how-to-manage-multiple-shopify-themes-with-a-single-github-repo

1 Like