每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
已解决 提问于 1 个月前

更新主题后之前改的代码全没了,怎么避免

3 个回答 4,607 次浏览 主题与 Liquid 最后活跃 28 天前
79

点了主题更新,原来手改的 header 和 product 模板被覆盖,客户活动页面上线前一天出的事故。

陈
陈工提问者
Shopify 认证开发者 · 专注主题与 Liquid
1 个月前提问 · 已收到 3 个回答

3 个回答

已采纳 · 提问者确认解决
19

先把判断放在前面:主题更新是整包替换文件,不会合并自定义代码;只有 settings_data.json 里的商家设置在部分场景会被保留。

1处理顺序

  1. 先把线上主题完整导出一份 zip 存档,导出入口在后台主题列表的「⋯」菜单里。
  2. 用 Shopify CLI 把主题拉到本地 shopify theme pull,接进 Git 仓库,每次改动都提交,这是唯一可靠的兜底。
  3. 更新前对比新旧版本差异,在主主题上做一次 diff,把自定义部分整理成 snippet 或独立的 section,减少对核心模板的侵入。
  4. 更新时选择「复制一份再更新」,在副本上验证没问题再发布,避免直接覆盖线上主题。
  5. 更新完成后逐项回归:首页、商品页、购物车、结账入口、页脚,这五处覆盖了 90% 的自定义。
验收:主题版本已更新,导出包与 Git 仓库都有更新前存档,五个关键页面渲染正常。
风 风格技术团队 回答于 1 个月前
2

更彻底的做法是把定制做成独立 section + 自定义 CSS 资源文件,核心模板尽量不改。这样主题更新只是换掉底层,定制部分不会跟着丢。

泽 阿泽 · 前端工程师 · 1 个月前
5 赞

这个教训记住了,现在每次更新前都先 pull 到本地提交一次。

陈 陈工 · 提问者 · 29 天前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu