跳到主要内容

CODEOWNERS 生成器

将所有权规则转换为干净、整齐对齐的 GitHub CODEOWNERS 文件。检测无所有者的模式、已失效的重复规则、不支持的 ! 否定,以及无效的所有者令牌——并按照 GitHub 的最后匹配优先顺序确定哪个规则实际适用于特定路径。

输入

每行一条规则:<模式> <所有者1> [所有者2 ...]。所有者是 @username、@org/team 或电子邮件——留空以标记路径无所有者。以 # 开头的行是注释。后面的规则覆盖相同路径的前面规则。

查看哪个规则按照 GitHub 的最后匹配优先顺序实际适用于此路径。

输出

生成的 CODEOWNERS
 
警告
模式问题
No data yet
这对您有帮助吗?

使用此工具的更多方式

REST API

curl -X POST https://api.iotools.cloud/v1/tool/codeowners-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "rules": "# Default owners for everything\n*               …",
    "testPath": "docs/setup.md"
  }'

替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。

让 AI 代理执行

Use the IOTools `codeowners-generator` tool (CODEOWNERS Generator) on this input:

YOUR_INPUT_HERE

将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/codeowners-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="CODEOWNERS 生成器 — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

每次 API/MCP 调用费用5 积分起

也可通过

使用指南

粘贴您的所有权规则,即可获得干净、整齐对齐的 GitHub CODEOWNERS 文件——加上一个警告列表,可捕捉通常被忽略的错误:无所有者的模式、已失效的重复规则、! 否定(.gitignore 支持但 CODEOWNERS 不支持),以及不是有效的 @username@org/team 或电子邮件的所有者令牌。

CODEOWNERS 文件是什么?

CODEOWNERS 文件告诉 GitHub(或 GitLab/Bitbucket,使用相同格式)当拉取请求触及特定路径时应自动要求哪些人或团队进行审核。它位于仓库的 .github/CODEOWNERSCODEOWNERSdocs/CODEOWNERS,也可以驱动所需审核人员的分支保护规则。

如何使用此生成器

  1. 所有权规则框中粘贴您的规则,每行一条:路径模式后跟一个或多个所有者(*.js @web-team/docs/ @doc-team @jane-doe)。以 # 开头的行保留为注释。
  2. 生成器返回文件,所有者排列成可读的列,警告表中列出任何问题。
  3. 可选在测试文件路径中输入路径——该工具按照 GitHub 的真实最后匹配优先顺序确定哪个规则适用于该路径,并显示其所有者。
  4. 复制结果或下载为 CODEOWNERS

为什么顺序很重要

GitHub 不会合并重叠的 CODEOWNERS 规则——它只应用文件中最后匹配的模式,仅此而已。文件顶部附近的宽泛规则(* @global-owner)通常被下方更具体的规则(/docs/ @doc-team)覆盖,而在文件后面重复的相同规则使之前的每个副本成为死代码。两者都很容易在文件增长到超过几行后被意外引入,都不会从 GitHub 本身产生错误——生成器的警告和"测试文件路径"查找正是为了捕捉 GitHub 默许允许的内容。

模式语法

模式遵循与 .gitignore 相同的规则,有一个重要例外:

  • 没有 / 的模式(如 *.js)在仓库中的任何深度匹配。
  • / 开头或包含 / 的模式(如 /docs/apps/web/)相对于仓库根目录锚定。
  • 末尾 /(如 /build/logs/)匹配该目录及其内的所有内容。
  • * 在一个路径段内匹配;** 跨越段。
  • .gitignore 不同,CODEOWNERS 不支持 ! 否定模式——生成器标记任何以 ! 开头的模式。

谁可以是所有者?

GitHub 用户名(@octocat)、团队(@my-org/reviewers)或链接到 GitHub 帐户的电子邮件地址。没有所有者的模式也是有效的语法——GitHub 将其读取为"这里不需要审核人员",用于从上面的更宽泛规则中创建异常很有用,但容易意外留下,因此生成器无论如何都将其标记为警告。

这是私密的吗?

是的——一切都在您的浏览器中运行。您的规则和测试的任何文件路径都不会发送到服务器。

对于将生成的构建输出和依赖项排除在 Git 之外的文件,请参阅 Gitignore 生成器。要在将单个 glob 模式放入 CODEOWNERS 之前检查它是否与您期望的路径匹配,请使用 Shell Glob 模式测试工具

githubpull requestcode reviewrequired reviewersrepositoryownershipbranch protectiongit

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。