CODEOWNERS 用于声明哪些路径由哪些人或团队负责 Review。
当 PR 修改了某些路径,GitHub 可以自动请求对应 owner Review。配合分支保护后,还可以要求对应 owner 批准后才能合入。
GitHub 支持把 CODEOWNERS 放在这些位置:
.github/CODEOWNERS
CODEOWNERS
docs/CODEOWNERS
一般建议放在 .github/CODEOWNERS,和仓库协作模板放在一起。
# 默认 owner
* @team-platform
# 平台工程
/.github/ @team-platform
/scripts/ @team-platform
# 业务模块
/billing/ @team-billing
/auth/ @team-security
/docs/ @team-docs
- 先覆盖关键目录
- owner 要有真实响应能力
- 不要把所有路径都指给一个人
- 团队 owner 比个人 owner 更稳定
- 定期清理离职或职责变化的 owner
- 配合分支保护要求 code owner review
Kubernetes 的 OWNERS 文件把 reviewer 和 approver 拆开:
- reviewer 关注代码质量、正确性、风格和局部实现
- approver 关注兼容性、API、依赖关系和整体接受标准
GitHub CODEOWNERS 没有内置这两层语义,但企业团队可以在流程上模拟:
- CODEOWNERS 指向模块负责人团队
- 普通 reviewer 先做代码层 Review
- owner 最后确认边界、风险和长期维护成本
GitHub 要求被列为 code owner 的用户或团队具备仓库写权限,否则不会按预期工作。
如果使用团队作为 owner,团队可见性和权限也要正确配置。
规则过细会让 PR 被太多人卡住,建议先覆盖关键目录,再逐步扩展。