Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 3.58 KB

File metadata and controls

51 lines (34 loc) · 3.58 KB

维护与变更尺度(共识)

本文面向核心维护者与高频贡献者,与 贡献指南提交与 PR 规范一起阅读。目标是在欢迎贡献的同时,尽量避免大量不可控、难回滚的改动,降低 main 与下游 fork 被拖离稳定形态的风险。

原则

  1. 小步、可审、可回滚:宁可多几个聚焦的 PR,也不要一个巨型「一锅端」难以评审的变更。
  2. 先对齐意图再写代码:涉及行为或数据契约的改动,尽量先在 Issue / Discussion 里对齐范围,再开 PR。
  3. 守住核心路径:数据层、路由、全局配置、构建与导出链路影响全站——PR 中应写清动机、风险与验证方式。
  4. 禁止夹带无关重构:不要把大范围重命名、整仓格式化、大版本依赖升级与无关 bugfix/功能混在同一 PR;必要时拆分。
  5. 依赖与工具链:框架大版本、锁文件策略类变更需说明理由、破坏性变更与回归验证(构建、关键路径测试等)。

建议的 PR 粒度

类型 建议
Bug 修复 最小改动 + 测试或可复现说明
小功能 / 单主题 尽量限制在主题目录或单一模块边界,避免顺手改共享层
跨主题 / 公共 API 先在 Issue 对齐接口与默认值,迁移路径写进文档
破坏性变更 写清版本与配置迁移;必要时拆阶段便于评审

高影响区域(期望说明更充分)

以下改动往往影响全站或多主题——PR 描述与验证说明应更完整(是否必须双人评审由仓库所有者与维护者共同约定):

  • lib/db/(含 SiteDataApi、Notion 拉取与缓存)
  • pages/ 下的 SSG/ISR、i18n、构建生命周期相关逻辑
  • next.config.js 与导出/构建脚本
  • 全局配置(blog.config.jslib/config.js 及同类默认行为)
  • 安全相关:鉴权、密钥、第三方回调、CSP 等

避免项目「漂太远」

  • 小众站点假设尽量做成可选项或配置项,避免写进影响所有人的全局默认。
  • 主题隔离:主题专属逻辑放在 themes/<name>/,避免把某一主题的 UI 或路由假设写进共享层。
  • 文档同步:用户可见行为或配置项变更时,在同一 PR 或紧随其后的 PR 中更新文档(中英视情况)。

GitHub 权限(供仓库所有者操作)

仓库所有者(个人仓库的拥有者,或组织的 Owner)可在 Settings → Collaborators(或组织下的 Teams / Repository access)邀请信任的维护者(例如 @qianzhu18),并按信任程度授予 Write / Maintain / Admin 等角色;是否需要能改分支保护、管理部分仓库设置,决定选 Maintain 还是 Admin

分支保护第三方检查(如部署需授权)经常导致无法合并,可在 Settings → Branches 中为受信维护者配置 bypass,或由所有者与维护者书面约定在何种情况下由谁代为合并。

GitHub 界面文案会随产品迭代变化;谁可以合并、何时允许绕过检查等治理规则,建议在维护者之间留下文字共识(Issue、Discussion 或本仓库文档的修订说明),而不要仅依赖默认设置。

相关文档

本文档随项目演进可修订;重大修订建议在 Issue 或 Discussion 中留一句背景,便于后来者理解。