Shopify GitHub連携とは?テーマをGitHubで管理する方法・設定手順をわかりやすく解説

What is the Shopify GitHub integration? A clear guide to managing themes on GitHub and the setup steps

Tsun ライターチーム

When several people edit a Shopify theme, you can run into situations such as "we don't know when a change was made" or "we want to check what the agency changed."

In Shopify, you can use the "Shopify GitHub App" to connect a theme to a GitHub repository. It is a feature that lets you apply a theme changed on GitHub to Shopify, and record changes made in the Shopify admin on GitHub.

This article explains how Shopify GitHub integration works, its benefits, how to set it up, and points to watch when you use it.

What is Shopify GitHub integration

With Shopify GitHub integration, you can connect a Shopify theme to a GitHub repository. What it manages is theme code and theme settings. It is not a feature for managing products, orders, customers, payment settings, in-app data, and similar information on GitHub.

[Key terms used with the GitHub integration]

Term Meaning
Repository The place where a theme's full set of files and its change history are stored
Branch A split within the same repository so that work can proceed separately. You can manage production and development in parallel, for example
Commit Recording one set of file changes as a single entry in the history
push Sending commits recorded on your computer to GitHub
Pull request A way to request a review of the changes on one branch before they are merged into another branch

A feature that connects a Shopify theme to a GitHub repository

Shopify provides the "Shopify GitHub App." When you connect a GitHub account to Shopify, you can add a branch in a GitHub repository as a Shopify theme.

For a connected theme, the Shopify admin shows the repository name, the branch name, the time of the last commit, and similar details.

A theme card for a theme connected to GitHub, shown in the theme library in the Shopify admin

Image source: GitHub

You can sync theme changes between Shopify and GitHub

When you update the connected branch on GitHub, the changes are applied to the theme on the Shopify side. Conversely, when you change a theme in the Shopify admin and save it, the changes are automatically committed to the connected GitHub branch.

Changes applied from Shopify to GitHub include customizations in the theme editor, edits in the code editor, and changes made by theme apps installed on the online store.

However, Shopify and GitHub do not automatically merge changes from both sides. If the same file is edited from multiple environments, conflicts or overwrites can occur. See "Points to watch when connecting Shopify and GitHub" in this article for details.

Differences between Shopify CLI and GitHub integration

"Shopify CLI" is also commonly used for Shopify theme development.

Shopify CLI is a command-line tool for developing Shopify themes locally on your computer. You can use it to preview a theme, retrieve a theme from Shopify, and apply code you have written, among other things.

Item Shopify GitHub integration Shopify CLI
Main use Managing changes and history for GitHub and the Shopify theme Theme development in a local environment
Change history Managed with GitHub commits and branches Managed separately, using Git or a similar tool
Preview Checked on a theme added in Shopify Checked using a development theme
Main users Teams that want to manage themes on GitHub Developers who build themes by editing code

You can also use Shopify GitHub integration and Shopify CLI together. One possible workflow is to develop the theme in a local environment with Shopify CLI and manage the code and change history on GitHub.

For more on Shopify CLI, see the official documentation.

Benefits of managing a Shopify theme on GitHub

On GitHub, you can organize changes using commits, branches, pull requests, and similar tools. You can also have another person review the changes before they are merged into the branch used for publishing.

You can keep theme change history as commits

On GitHub, you can record changes to theme code as commits. Because you can compare the code before and after a change, you can see which files were rewritten and how.

When a problem occurs, you can also follow past commits to investigate the cause. To undo the change that caused it, create a commit on GitHub that reverses that change (a revert) and apply it to the connected branch. The undone changes are then synced to the theme on the Shopify side as well. Changes that span multiple files can also be undone together, on a per-commit basis.

Changes made in the Shopify admin can also be recorded on GitHub

With Shopify GitHub integration, you can record not only changes developers make from GitHub, but also theme changes made on the Shopify side.

For example, even if an agency edits code from GitHub and an e-commerce manager changes images or sections in the Shopify theme editor, content saved on the Shopify side is committed to the connected branch.

A distinctive point is that edits made in the Shopify admin by staff members other than developers can also be included in the change history.

You can see who last edited the theme from a GitHub commit

On August 26, 2026, Shopify updated the commit information for themes connected to GitHub. When you edit a connected theme from the Shopify admin, the changes are recorded on GitHub as a commit by Shopify's bot.

After the update, the body of the commit message shows the store name and the username of the person who last saved the theme. However, changes saved one after another within about 10 seconds are combined into a single commit, and only the username of the person who saved last is shown. If an agency and a store staff member edit at nearly the same time, the name of the person who saved first is not kept. The commit author is still Shopify's bot, so the author shown by standard Git features such as git blame does not change.

For changes saved on the Shopify side, you cannot fully identify the editor of each file. If you want to manage changes in more detail, also consider a workflow in which you create commits and pull requests on GitHub.

Reference: GitHub commits now name the last theme editor (as of August 26, 2026)

You can separate production and development themes with branches

On GitHub, you can create "branches" and manage theme changes separately.

For example, besides the main branch that manages the published theme, you can prepare a branch for a redesign or a campaign.

If you connect a branch that is still in development as an unpublished theme in Shopify, you can review it without affecting the live store. You can also publish a branch for a sale or campaign only for the period you need it, then switch back to the original theme after it ends.

However, each connected branch is added as its own theme in the theme library, and you can add up to 20 themes to the theme library (as of September 2026). Clean up themes for branches you have finished using.

Differences between Shopify's built-in change history, theme duplication, and GitHub integration

Besides integration for implementing code, Shopify also has a change history in the code editor and a feature for duplicating a theme.

Item Code editor change history Theme duplication GitHub integration
Main use Reviewing and restoring file changes Backing up a theme Ongoing version control
Reviewing change diffs Available per file Generally not available Available per commit
Branch management Not available Not available Available
Management by multiple people Limited Limited Well suited to team workflows
Restoring an earlier state Per file Use a duplicated theme Can be undone per commit

Shopify's code editor has a "Timeline," where you can view and restore earlier versions of existing files. It is not a feature for rolling the entire theme back at once, and deleted files cannot be restored either. Images, CSS, and JavaScript in the assets folder have no history, and history is kept only for a limited time.

The screen for checking an earlier version of a file in "Timeline" in the Shopify code editor

Image source: Shopify

Duplicating a theme can be used as a backup before you start a major customization. Shopify also recommends duplicating a theme before you customize it.

GitHub integration is a good fit when you want to keep a change history on an ongoing basis, or when you want to manage several streams of work with branches. Each option has a different role, so even if you use GitHub, it is a good idea to duplicate the theme before a large piece of work.

Stores that are a good fit for Shopify GitHub integration

If a store mainly makes minor changes in the theme editor and rarely edits theme code, duplicating the theme or Shopify's built-in change history may be enough.

On the other hand, GitHub integration is a good fit for stores like the following.

  • An agency or several people edit the theme
  • Theme code is customized on an ongoing basis
  • You want to separate production and development themes
  • You want to compare the code before and after changes
  • You want to review changes in a pull request before publishing

If you introduce GitHub integration, also decide who owns the repository, which branch is used for publishing, how editing will be done, and how changes will be reviewed.

What you need to connect Shopify and GitHub

To connect a Shopify theme and GitHub, you mainly need to prepare the following three things.

  • A GitHub account
  • A GitHub repository to store the Shopify theme
  • Shopify GitHub App

If you use a personal GitHub account, only one Shopify account can be connected to that personal GitHub account at the same time. Shopify recommends using a GitHub Organization rather than a personal account. An Organization makes it easier for several people to access the repository, and you can also use it when handing management over from an agency to the store operator. For an Organization repository, an account invited as an outside collaborator cannot connect a branch, so add the agency's staff as members of the Organization as well.

Also, connecting a GitHub branch from the Shopify admin requires permissions on both the Shopify side and the GitHub side.

On Shopify, in addition to the store owner, staff and collaborators who have the "Themes" permission for Online Store can connect. On GitHub, you need write access to the repository you are connecting.

With the Shopify GitHub App, the recommended approach is to grant access only to the repositories used for theme management, rather than to all repositories.

How to connect a Shopify theme to GitHub

When you are working with an existing published theme, duplicate the theme before you connect it. That way, you can keep the original state if a problem occurs.

Create a repository for the theme on GitHub

First, create a GitHub repository to store the Shopify theme.

The branch you connect with Shopify GitHub integration must match the standard folder structure of a Shopify theme. The main folders are as follows.

  • assets
  • blocks
  • config
  • layout
  • locales
  • sections
  • snippets
  • templates

If your development environment transforms theme files with a build tool before applying them, you cannot connect a branch that contains a src folder for the pre-transformation files or a dist folder for the transformed files. Prepare a separate branch that places the transformed files in the standard folder structure, and connect that branch. Folders that are not part of the standard structure are not synced.

Install the Shopify GitHub App

Install the Shopify GitHub App on GitHub so that Shopify can access the repository.

If you use a GitHub Organization, add the Shopify GitHub App to the Organization. You can choose which repositories to grant access to, so specify only the repositories needed for theme management.

If the repository you want does not appear in the Shopify admin, check the access settings for the Shopify GitHub App on the GitHub side.

Connect to GitHub from the Shopify admin

From the Shopify admin, go to Online Store > Themes. In the theme library, select "Add theme," then go to "Connect from GitHub." After that, choose the GitHub account or Organization to connect.

If the Shopify GitHub App is not yet installed or authorized, GitHub's authorization screen appears partway through.

The screen where you select "Connect from GitHub" in the theme library in the Shopify admin

Image source: Shopify

Select a repository and a branch

After you select a GitHub account, specify the repository and branch to use as the Shopify theme.

When the connection is complete, a theme connected to GitHub is added to the theme library. From the theme card, you can check the repository name, the connected branch, the time of the last commit, and similar details.

A theme card added to the Shopify theme library that shows the GitHub repository name and branch name

Image source: Shopify

Check that Shopify and GitHub are in sync

After connecting, check that syncing works. First, change text such as the announcement bar in the Shopify theme editor and save it, then check that a new commit has been created on GitHub. Next, commit a small change from the GitHub side as well, push it to the branch, and check that it is applied to the Shopify theme.

Testing from both sides before you start the actual customization lets you catch connection or permission problems early.

Publish a theme connected to GitHub

The screen for publishing a theme connected to GitHub from the Shopify theme library

Image source: Shopify

A theme connected to GitHub can also be published from the Shopify theme library in the same way as a regular theme.

Publishing an unpublished theme does not remove its connection to the GitHub branch.

Points to watch when connecting Shopify and GitHub

Shopify GitHub integration is useful for managing change history, but if several people use it, you need to decide in advance how editing will be done and the steps up to publishing.

A push to a branch connected to the published theme is applied to the store immediately

Pushing to GitHub does not automatically publish a new theme. Changes are applied to the Shopify theme connected to that branch. If the connected theme is the published theme, however, the live store's display also changes as soon as you push.

Do not push directly to the production branch. Stick to a flow in which you review changes on a development branch and an unpublished theme before merging. If you use Shopify CLI, you can also preview with a development theme.

Be careful when merging theme editor changes with the development branch

Customizations made in the theme editor are saved in settings files that are part of the theme code. Settings for the theme as a whole are written to "config/settings_data.json," and section and block settings for each page are written to JSON templates and section group files.

When an e-commerce manager edits the published theme in the theme editor, changes to these files are automatically committed to the production branch, but they are not included in the development branch. If the same files are also changed on the development branch, merging can cause conflicts, and depending on how you merge, banners and text the e-commerce manager changed can revert to the content from the time of development.

Decide the steps in advance, such as bringing in the latest content from the production branch before you merge the development branch, and reviewing the diffs of JSON files in the pull request.

Do not edit the same file in Shopify and on GitHub at the same time

Editing the same theme file from both the Shopify admin and GitHub can cause conflicts or unintended overwrites. When a file open in the theme editor is changed from GitHub or the code editor, a warning is displayed when you save.

In Shopify's code editor, however, no warning is displayed even if the same file has been changed in another environment. If you save as-is, you may overwrite the changes on the GitHub side. Also, if you edit at the same time, the commit on the Shopify side may be judged to be older content, and syncing it to GitHub may be rejected.

You cannot stop Shopify-side changes from syncing to GitHub automatically

When you edit a theme that is connected to GitHub from the Shopify admin, the changed files are automatically synced to GitHub. You cannot disable this automatic update. If you have in mind a workflow such as "only code approved by developers is reflected in GitHub," you need to set rules in advance with the people who edit the theme from the Shopify side.

If you want to separate the code synced to Shopify from other code, also consider splitting repositories or branches.

If changes do not sync, check the logs

If changes made on GitHub are not reflected in Shopify, you can check the recent sync status from "View logs" on the theme card.

If the latest commit on GitHub is not reflected in the Shopify theme, select "Reset to latest commit" from the "..." (actions) menu on the theme card to apply the latest content on the connected branch to the Shopify side.

"Reset to latest commit" in the actions menu on a Shopify theme card

Image source: Shopify

However, the theme on the Shopify side is updated to the state of the latest commit on GitHub, so before you do this, check that there are no changes you want to keep.

A disconnected branch cannot be reconnected to the same theme

After you disconnect a branch from a theme, you cannot reconnect the branch to the same theme. If you connect it again, it is added to the theme library as a separate theme.

When you disconnect, check that the target theme and branch are correct before you proceed.

Summary

With the Shopify GitHub integration, you can connect a Shopify theme to a GitHub repository and manage the history of changes to theme code and settings. Changes saved from the Shopify admin are also recorded in GitHub, so you can review, in one place, the history of changes made by an agency and by multiple people in charge.

Because changing a branch connected to the published theme is also reflected in the store, consider a workflow in which you verify changes on a development branch or an unpublished theme before applying them to production.

👆️目次はShopifyアプリ「RuffRuff 目次作成」を利用

👆️Table of contents by the Shopify app RuffRuff Table of Contents

Back to blog
  • Shopifyアプリ「日本インボイス領収書」とは|税率別の端数処理と軽減税率の注記に対応

    What is the Shopify app "JP Invoice Receipt"? |...

    Scanoria

    JP Invoice Receipt (日本インボイス領収書) is an app that issues receipts from Shopify orders. It supports rounding per tax rate, notes for the reduced tax rate, and issuance by buyers themselves.

    What is the Shopify app "JP Invoice Receipt"? |...

    Scanoria

    JP Invoice Receipt (日本インボイス領収書) is an app that issues receipts from Shopify orders. It supports rounding per tax rate, notes for the reduced tax rate, and issuance by buyers themselves.

  • 【決定版】Shopifyアプリ おすすめ一覧:売上アップ・効率化・無料アプリまで徹底解説!

    [2026 Latest] Recommended Shopify Apps: A Compl...

    Tsunライターチーム

    A detailed, purpose-by-purpose guide to recommended apps that streamline Shopify operations. Covers customer acquisition, CVR improvement, blog extensions, CRM, workload reduction, and AI-powered apps. Curated information useful for beginners and...

    [2026 Latest] Recommended Shopify Apps: A Compl...

    Tsunライターチーム

    A detailed, purpose-by-purpose guide to recommended apps that streamline Shopify operations. Covers customer acquisition, CVR improvement, blog extensions, CRM, workload reduction, and AI-powered apps. Curated information useful for beginners and...

  • Shopify Canvasとは?できること・使い方・注意点を解説

    What is Shopify Canvas? Capabilities, how to us...

    Tsun ライターチーム

    Shopify Canvas, announced on October 1, 2026, is a design screen where you can edit your theme together with Sidekick while viewing every page of your store side by side....

    What is Shopify Canvas? Capabilities, how to us...

    Tsun ライターチーム

    Shopify Canvas, announced on October 1, 2026, is a design screen where you can edit your theme together with Sidekick while viewing every page of your store side by side....

  • STORESからShopifyへのデータ移行手順|注意点も紹介

    [2026 Edition] How to Migrate Data from STORES ...

    Tsunライターチーム

    For merchants considering a move from STORES to Shopify, this guide explains the differences in pricing and features between the two services, which data can and cannot be migrated, the...

    [2026 Edition] How to Migrate Data from STORES ...

    Tsunライターチーム

    For merchants considering a move from STORES to Shopify, this guide explains the differences in pricing and features between the two services, which data can and cannot be migrated, the...

  • 【2026年最新】Shopifyの手数料一覧!プラン別の料率と費用を抑えるポイント

    [Latest for 2026] List of Shopify fees! Rates b...

    Tsun ライターチーム

    Explains the types of fees charged on Shopify and lists the rates for the Basic, Grow, Advanced, and Plus plans. Also introduces cost simulations by monthly sales and four points...

    [Latest for 2026] List of Shopify fees! Rates b...

    Tsun ライターチーム

    Explains the types of fees charged on Shopify and lists the rates for the Basic, Grow, Advanced, and Plus plans. Also introduces cost simulations by monthly sales and four points...

  • Shopify GitHub連携とは?テーマをGitHubで管理する方法・設定手順をわかりやすく解説

    What is the Shopify GitHub integration? A clear...

    Tsun ライターチーム

    With the Shopify GitHub integration, you can manage a Shopify theme's code and settings in a GitHub repository. It explains how it works, the benefits of adopting it, what you...

    What is the Shopify GitHub integration? A clear...

    Tsun ライターチーム

    With the Shopify GitHub integration, you can manage a Shopify theme's code and settings in a GitHub repository. It explains how it works, the benefits of adopting it, what you...

1 of 6
  • 【ストアインタビュー後編】やりながら育てるShopify。「野菜をMOTTO」の試行錯誤:モンマルシェ株式会社 河野雄士さん

    [Store Interview, Part 2] Building and Growing ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." An in-depth look at our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its...

    [Store Interview, Part 2] Building and Growing ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." An in-depth look at our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its...

  • 【ストアインタビュー前編】 ECが主戦場でも、ECが目的ではない。「野菜をMOTTO」が貫くEC戦略:モンマルシェ株式会社 河野雄士さん

    [Store Interview, Part 1] Even When E-Commerce ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." Part 1 of our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its e-commerce...

    [Store Interview, Part 1] Even When E-Commerce ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." Part 1 of our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its e-commerce...

  • 【ストアインタビュー後編】取り返しのつかない失敗さえしなければ、全部学びになる。EC戦略と経営哲学:Beverich株式会社 代表取締役 木下慶さん

    [Store Interview, Part 2] As Long as You Don't ...

    テキサス・アユミ

    Kei Kinoshita, President of Beverich, discusses his strategy for splitting roles between Shopify and Amazon, how he uses the RuffRuff apps, and a management philosophy that turns failure into learning....

    [Store Interview, Part 2] As Long as You Don't ...

    テキサス・アユミ

    Kei Kinoshita, President of Beverich, discusses his strategy for splitting roles between Shopify and Amazon, how he uses the RuffRuff apps, and a management philosophy that turns failure into learning....

1 of 3
  • Our Editorial Process

    For readers new to e-commerce and Shopify, we write our articles with care to explain difficult commerce and marketing terms, along with how everything works from building a store through to selling, as “gently,” “clearly,” and “accurately” as we can.

    Learn more 
  • About the information on this site

    The information published here is based on Tsun Inc.’s own experience and research. While we make every effort to publish information that is as “current” and “accurate” as possible, we cannot fully guarantee its contents. Tsun Inc. accepts no liability whatsoever for any damages arising from this site. If you find an error in the information published here, we would be grateful if you would contact Tsun Inc.