You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CODEOWNERS中Glob匹配范围小于预期:原因与合理性求证

关于GitHub CODEOWNERS中a/b/*模式匹配范围的疑问

我的测试仓库包含以下文件:

/a/test.txt
/a/b/test.txt
/a/b/c/test.txt
/a/b/c/d/test.txt

两种配置的不同结果

  • 当CODEOWNERS仅配置a/b/c @me时,我会成为/a/b/c/test.txt和/a/b/c/d/test.txt的代码所有者,这符合预期——因为这两个文件都在c/目录下。
  • 但如果配置a/b/* @me,我仅会成为/a/b/test.txt的代码所有者,该规则完全不匹配c/目录下的任何内容,尽管从Glob规则的直觉来看c/应该被包含在内。

核心疑问

这种行为是有意设计还是Bug?

GitHub官方说明CODEOWNERS的模式基本遵循.gitignore的规则,而在.gitignore中使用a/b/*时,Git确实会忽略c/目录下的内容。但为什么会有这种设计?是否有相关文档解释背后的逻辑?

补充:GitHub文档中的示例

GitHub官方文档里提到过该行为,但未解释原因:

The docs/* pattern will match files like
docs/getting-started.md but not further nested files like
docs/build-app/troubleshooting.md.

docs/* docs@example.com

为什么docs/*不包含docs/build-app/下的内容?


内容的提问来源于stack exchange,提问作者Ryan Tarpine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 06:12:34