Shopify CLI 与 Headless

shopify theme pull 把线上主题设置覆盖了怎么恢复

现象#

执行 shopify theme pull 后本地 config/settings_data.json 变成商家的配色与首页区块,自己改的默认值全部消失;再 push 一次,线上布局被本地旧结构反向覆盖。

原因#

  • pull 默认全量下载,settings_data.json 存的是商家在编辑器里改过的运行时配置
  • 该文件的 current 段由后台写入,与 presets 默认值合并后才决定前台呈现
  • 本地被覆盖后若无 git 提交,CLI 不保留备份,只能从编辑器历史或旧构建找回
  • 主题含多个 preset 时 pull 按 --listing 选择,未指定就落到默认预设

处理步骤#

  1. 先停手,用 git diff config/settings_data.json 确认工作区或 stash 里是否还有原文
  2. 把设置拆开管理:只提交 config/settings_schema.json 与 presets,不跟踪线上 current
  3. 需要同步代码时限定范围:shopify theme pull --only templates/ --only sections/
  4. 拉代码时忽略设置:shopify theme pull --ignore config/settings_data.json
  5. 上线用 shopify theme push -x config/settings_data.json,设置留在远端

验收标准#

pull 之后 git status 不再出现 settings_data.json 变更,编辑器里的配色与首页区块保持原样。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。