配置仓库、组织与企业排除规则
使用不区分大小写的路径模式,核对仓库引用、全文件系统规则与继承。
This page has not been translated into English yet. The original Chinese version is shown below.
先确认当前客户端及模式支持内容排除,再配置路径。官方使用 fnmatch 风格的模式,匹配不区分大小写;不要将其他工具的 glob 优先级或否定规则直接套用。
仓库规则
仓库 Settings → Copilot → Content exclusion 中,在 Paths to exclude in this repository 输入每行一个路径,可用 # 注释:
# 排除仓库中的指定文件。
- "/src/some-dir/kernel.rs"
# 排除任何位置的同名文件。
- "secrets.json"
# 排除名称前缀或后缀匹配的文件。
- "secret*"
- "*.cfg"
# 排除 scripts 目录及其下级内容。
- "/scripts/**"来自父组织或同一企业其他组织的继承规则会显示为顶部灰色区域,不能在仓库页面编辑。看到继承项不代表仓库管理员可以用本地规则将其取消。
组织规则
组织 Settings → Copilot → Content exclusion 的 Repositories and paths to exclude 使用“仓库引用 → 路径列表”结构。全局 "*" 可匹配 Git 仓库内外的文件系统路径:
"*":
- "**/.env"
octo-repo:
- "/src/some-dir/kernel.rs"
https://github.com/primer/react.git:
- "secrets.json"
- "/src/**/temp.rb"
git@github.com:*/copilot:
- "/__tests__/**"
- "/scripts/*"这里 **/.env 包括仓库中的 .env,也包括文件系统根下的 /.env;该含义来自组织全局规则,不应把仓库规则直接当成全文件系统设置。
其他官方示例模式包括:{server,session}* 匹配指定文件名前缀,*.m[dk] 匹配 .md / .mk,**/package?/* 匹配相应目录中的直接文件,**/security/** 匹配 security 目录及下级内容。
仓库引用匹配
引用可使用 HTTP(S)、git://、user@host:path 或 ssh:// 格式。Copilot 能在本地 clone 协议不同时匹配同一仓库,引用中的 user@ 与 :port 不参与决定排除路径。
Azure DevOps 可使用新 dev.azure.com 或旧 visualstudio.com 主机格式,不依赖本地 clone 时用了哪种。
企业规则
企业 AI controls → Copilot → Content exclusion 使用与组织相同的仓库和路径结构。区别在适用用户:企业规则覆盖企业内 Copilot 用户,组织规则只覆盖由该组织授予席位的用户。
组织与企业所有者还可通过官方 REST content exclusion management 接口管理规则;此配置文章没有展开完整 API schema,本页不推测请求体或权限参数。
完成修改后按生效测试验证,不只检查 YAML 是否可解析。