Shopify Development workflow best practices

New Member
2 0 0

I am on deploying my first shopify site to production. I am concerned on how will keep my GIT theme files in sync with the Theme files on LIVE Site post deployment. What should be the ideal thumb rule to follow in terms of making changes that way we do not overwrite changes. How can I know that someone has made any changes to production Theme like Color, font, text content or in the liquid files.




Shopify Partner
17 2 5

Hey @GauriPadbidri 

Besides some of the obvious WYSIWYG editor stuff and making sure you follow your rules in the {% schema %} and not change anything (ie "id":"example" => "id":"example_01"). The file that seems to be more of a concern will be Themes > Config > settings_data.json

The theme's data is stored there like colors, fonts and section text used etc. Don't touch that and you should be good.

Anything outside that is touched within the Shopify editor (.liquid etc), not much you can do except download the theme file and replace what you have manually.


If you haven't already looked at A Beginner's Git Guide with Shopify, here is a link:

You can also check this one out from Beanstalk, which you can use in conjunction with Git:

I would highly recommend using Beanstalk too:

These will probably give you a better outlook and more answers than my quick summary as well.

RWH Studios - Shopify & WordPress eCommerce Designers & Developers
1 Like
New Member
2 0 0

Sure, Thanks for your response. With regards to the above I have another query : 


The TEXT Content on the LIVE Shopify Site will always be updated. How can we get the same TEXT for our local development ? Meaning; replacing the settings_dat.json file to our dev will replicate the PROD settings to our dev environment. But how can we do the same with regards to the CONTENT as that sits in the PROD Shopify Store ? Any thought on that ?

3 0 2

You could choose to specifically download the settings_data.json file from production to your development environment by running the download command with a flag, for example "theme download config/settings_data.json --env=production". If this command is run while watching for changes (on development) it should update your development preview with the same information that the production theme has. (this is useful especially if the client has generated new sections on production. 


(This, provided you don't have an ignore set for config/settings_data.json in your config.yml for the development environment)