Skip to content
FunCoding

Search

Search docs, Skills and MCP

配置仓库、组织与企业排除规则

使用不区分大小写的路径模式,核对仓库引用、全文件系统规则与继承。

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 是否可解析。