v2.0.0 发布 —— 内容经营操作系统:PR 门控内容管道(关键词清单 → 八道门禁 → 草稿 PR)、anvilwiki-ops 1.0(多站管理 + AI 引用追踪)、pnpm gen-covers 封面自动生成、Affiliate 建议位。fork 零迁移成本。
AnvilWiki
EN
第 6章 更新于 2026年8月17日

开发 6 · 跟上官方更新,和把好东西贡献回去

官方仓库的新功能怎么安全合并进你的站(冲突时永远保留你自己的游戏配置和文章),版本号的兼容承诺,以及给 AnvilWiki 提改进、上展示墙的完整路径。

你现在在哪,这章解决什么

模板作者一直在发新版:修 bug、加功能。你的站要不要跟?怎么跟才不会把你自己的游戏名、颜色、文章冲掉?以及反过来——你改出了好东西,怎么让它回到官方模板里。查询手册,升级时翻。

把官方更新搬进你的站(每次 10 分钟)

# 1. 第一次才要跑:把官方仓库设为「上游」关注对象
git remote add upstream https://github.com/PNGTRID/AnvilWiki.git

# 2. 以后每次升级只跑这三行
git fetch upstream
git merge upstream/main

# 3. 合并后验证
pnpm check-config && pnpm typecheck && pnpm test
pnpm build && pnpm check-links

遇到冲突(终端出现 CONFLICT 字样)时,答案背下来:

  • 配置层、内容层的冲突 → 永远保留你自己的(你的游戏名、颜色、文案、文章)
  • 代码层的冲突 → 优先收官方的(那是修好的东西);你改过代码层才需要动脑,没改过就无冲突

为什么这么省心:官方的新功能几乎全落在代码层(你最不碰的层),冲突高发区恰好是你「本来就该保留自己」的区域。

合并完记得:跑一遍上面的验证;pnpm check-i18n 会列出官方新增的界面文字里,你还没翻译的部分。

官方的版本号承诺(决定你要不要升)

版本号三段式 主版本.次版本.补丁(如 1.13.0):

升什么意味着你的动作
补丁号变(1.13.0 → 1.13.1)修 bug直接合并,放心
次版本变(1.12 → 1.13)新功能,默认关闭或向后兼容合并后行为不变,想要的新功能自己去开
主版本变(1.x → 2.0)有不兼容改动看官方 CHANGELOG 的迁移说明再动手

三条长期承诺:文章登记卡的字段只加不改名(你的旧文章永远能构建);所有可选功能默认关闭(升级不会偷偷开广告);语言 JSON 缺条目自动用英文兜底(不会因为官方加了新文字你就构建失败)。

完全不想跟行不行:行。这是静态站,不是订阅服务——冻结在某个版本永远能跑。但建议至少合并补丁级更新(安全和 bug 修复),用 git cherry-pick 挑着合也行。

把你的改进贡献回去

  1. 先开 issue 讨论:到仓库 Issues 描述你的场景和想法(大改动先看官方 PRD 有没有相关决策,避免白做)。
  2. 开分支写代码,遵守架构章的楼层规矩(文字进 JSON、颜色用变量、零 JS 框架)。
  3. 自验:pnpm lint && pnpm typecheck && pnpm test && pnpm build 全绿。
  4. 提 PR,描述里贴验证输出,等 CI 绿、等作者审。
  5. 加了纯函数(放 src/lib/ 的)记得配测试;加了组件记得补文档。

你的站本身也能贡献:提 PR 把它加进官网展示墙(改 src/config/landing.ts 里的 showcase 数据)——真实的成功站,是这套模板最有说服力的广告。

(给模板本身发版本的完整流程是维护者视角的事,记录在仓库 docs/development.md,这里不重复。)

卡住了怎么办

  • 「merge 冲突看不懂」:把冲突文件的冲突段贴给 AI 助手,告诉它「配置和内容保留我的,代码听官方的」,让它逐个解决,解决完跑验证三件套。
  • 「合并完构建挂了」:跑 pnpm build 看报错的文件——多半是官方改了结构、你本地改过同一处;按「配置保留我的」原则处理后重试。

✅ 验收(全部成立才算完成)

  • 合并官方更新后,验证三件套全绿
  • ☐ 所有配置/内容冲突都保留了你自己的值(逐个看过 diff)
  • ☐ check-i18n 列出的新增文字,要么已翻译、要么明确接受英文兜底

下一章

上游同步解决了「模板在长」,最后一章解决「站在长起来的网站上,让 AI 替你跑运营循环」——anvilwiki-ops 命令行与 MCP。