摘要:团队已经在用 GitHub Copilot 时,先到组织 Settings 里把策略页和内容排除分开核对:谁能改开关、企业有没有锁死、与公共代码匹配的建议按哪一层生效,以及 secrets.json、.env 这类路径有没有写进排除规则。排除不是文件系统安全边界,改完后 IDE 里最多可能要 30 分钟才生效。依据 GitHub 官方文档,查询日期 2026-11-14。只放官网普通链接(affiliate_later)。
组织已经给开发者发了 GitHub Copilot 座位,下一步容易对不上的,是仓库里的密钥文件会不会进补全,以及「与公共代码匹配的建议」到底听哪一层开关。个人档会不会被拿去训练,以及 Cursor、通义灵码怎么选,见 AI 编程工具怎么选。哪些内容本来就不该贴进对话框,见 AI 工具的数据隐私。本文只核组织(以及仓库)里和建议、仓库隐私有关的开关,不重复那两篇的选型表和训练默认值。
查询日期:2026-11-14(北京时间)。依据 GitHub Docs 管理组织中 GitHub Copilot 的策略和功能(对照英文原文)、GitHub Copilot 的内容排除功能(对照英文原文)、从 GitHub Copilot 中排除内容(对照英文原文)、当组织中的 GitHub Copilot 策略出现冲突时的功能可用性(对照英文原文),以及以个人订阅者身份管理 GitHub Copilot 策略(对照英文原文)。文档部分中文页标注可能经过机器翻译或 AI 翻译,若和英文原文有出入,以你打开时的英文版为准。界面文案随计划和站点版本会变,只放官网普通链接(affiliate_later)。本文不是采购、合规或安全审计意见。
1. 先确认谁能改组织策略,企业有没有锁死
组织策略文档写明:只有组织所有者可以管理这些策略,而且组织需要有 GitHub Copilot Business 或 GitHub Copilot Enterprise 计划。个人 Free / Pro / Pro+ / Max 档的开关不在这一页,不要拿个人设置页来代替组织策略。
同一页还写了更关键的一层:Copilot 策略也在企业级别管理。如果企业所有者已经选择了特定策略,例如在任何地方启用某个功能、在任何地方禁用该功能,或仅为所选组织启用该功能,组织级不能覆盖该设置。组织若属于某个企业,先看企业有没有把这项策略锁死,再决定组织页上的下拉菜单能不能改。

入口按文档是:GitHub 右上角头像 → Your organizations → 选中组织 → Settings。在边栏「代码、规划和自动化」下点 Copilot,再进入 Policies(控制功能隐私和可用性)或 模型(控制超出 Copilot 基本模型的模型可用性,文档写明这可能会产生额外成本,具体费用以账单页为准,本文不编数字)。要对某一项策略取值时,点该项旁边的下拉菜单,选择强制措施。
文档另外提醒:「Copilot 中的 MCP 服务器」策略控制 MCP 服务器支持正式发布时的使用位置;在 MCP 支持仍处于预览阶段的功能(例如 Copilot 编辑器)里,可用性由「编辑器预览功能」策略控制。英文原文还写明:该 MCP 策略并不控制第三方宿主应用(如 Cursor、Windsurf 或 Claude)里 GitHub MCP 服务器的访问与权限。组织如果还打开了「Copilot 中的 GitHub.com」,页面上会多出两个选项:选择加入用户反馈收集,以及选择预览功能。文档写明预览可能有缺陷,功能可能随时更改或停止。

2. 「与公共代码匹配的建议」听哪一层
建议会不会长得像 GitHub 上已公开的代码,和「训练数据」不是同一件事。个人订阅者文档写明:若选择阻止匹配公共代码的建议,在大多数 GitHub Copilot 产品中,Copilot 会将代码建议及其约 150 个字符的周围代码与 GitHub 上的公共代码对比;如果存在匹配或接近匹配,不会向你显示该建议。若选择允许,或所用产品不支持「阻止」模式,当建议与公共代码匹配时,可以显示匹配的详细信息,并点进 GitHub 上的相关仓库。
个人设置入口是:任意 GitHub 页面右上角头像 → Copilot settings,在「与公共代码匹配的建议」右侧选择允许或阻止。但同一页有一条限制:如果你是通过组织分配了 GitHub Enterprise Cloud 座位的组织成员,将无法在个人账户设置中配置这项;设置会从组织或企业继承。

一个人如果被多个组织授予了 Copilot 许可,还要再看冲突规则。策略冲突文档把功能分成「限制性最低」和「限制性最高」两类。表里把「公共代码匹配建议(隐私政策)」列为按限制性最高的组织生效:只要有一个授予许可的组织禁用了它,对用户来说这项就会被禁用。不要只看自己最常用的那个组织开了允许,就以为已经全面放行。

来自多个不同企业的许可,文档写明通常适用最严格的策略,并列出了少数例外(例如 AI 积分付费使用、GitHub Spark)。本文不展开这些例外的计费细节。
3. 内容排除:仓库路径怎么写,改完怎么验收
要把某个仓库里的密钥、配置或测试夹从补全和对话里拿掉,用的是内容排除,不是上面那条公共代码匹配开关。概念页写明:组织需要有 Copilot Business 或 Copilot Enterprise 计划。配置排除之后,文档列出四条效果:
- 内联建议将无法在受影响的文件中使用。
- 受影响文件中的内容不会影响其他文件中的内联建议生成。
- 受影响文件中的内容不会为 Copilot 的回复提供依据。
- 受影响的文件将不会在 Copilot 代码评审中接受审查。
谁可以配置:存储库管理员、组织所有者和企业所有者。存储库管理员只能排除自己仓库中的内容,这会影响在这些仓库中工作的任何 Copilot 用户;组织所有者排除的是通过该组织分配到 Copilot 座位的用户所能访问的内容。Maintain 角色可以查看仓库的排除设置,但不能编辑。
各客户端支持范围以文档里的对照表为准。查询当天的表格里,Visual Studio、Visual Studio Code、JetBrains IDE 系列对内联建议以及聊天和代理都显示支持;Vim/Neovim 支持内联建议,聊天和代理为「不适用」;Xcode、Eclipse 支持内联建议,聊天和代理为不支持;Azure Data Studio 内联建议为不支持;GitHub Copilot app、GitHub Copilot CLI、Copilot in the cloud、Copilot code review 对内联建议为「不适用」,对聊天和代理显示支持。文档还写明:Copilot in the cloud 包括在 GitHub 网站、GitHub Mobile 或云沙盒上启动的聊天和代理会话。

仓库级路径按文档写在「此存储库中要排除的路径」框里,格式是 - "/PATH/TO/DIRECTORY/OR/FILE",每条路径单独一行,可用 # 开头加注释。模式使用 fnmatch,且不区分大小写。文档给的示例包括:排除本仓库中的 /src/some-dir/kernel.rs,排除任意位置的 secrets.json,用 secret* 排除以 secret 开头的文件,用 *.cfg 排除这类后缀,以及用 /scripts/** 排除该目录及以下所有文件。如果仓库从父组织或同一企业里的组织继承了排除项,页面顶部会出现灰色框,那些设置无法在仓库页编辑。
组织级还可以用 "*": 加路径,排除 Git 仓库或非 Git 文件系统上任意位置的文件,例如文档示例里的 "*": 配 "**/.env"。也可以按仓库引用加上该库内的路径。企业级写法与组织级类似,但文档强调:企业级规则适用于企业中的所有 Copilot 用户;组织所有者设置的规则只适用于由该组织分配座位的用户。

改完不要以为会立刻出现在已经打开的编辑器里。文档写明:添加或更改排除项后,已加载设置的 IDE 里最多可能要 30 分钟才生效。不想等的话,JetBrains IDE 和 Visual Studio 可关闭再打开应用;Visual Studio Code 可在命令面板里选「开发人员:重新加载窗口」;Vim/Neovim 则在每次打开文件时拉取排除项。验收时,先在未排除的文件里做一次通常会出内联建议的编辑,确认建议仍会出现;再打开应排除的文件做同样编辑,此时不应再出现建议。查 Copilot Chat 时,只打开应排除的文件并把它附到提示里,输入 explain this file:若排除生效,Chat 不能用该文件生成回复,也不会把它列为引用。
组织所有者和企业所有者还可用 REST API 管理排除项,细节见文档中的 API 说明,本文不展开请求字段。
4. 排除不是安全边界,还有哪些限制
概念页把限制写得很直白:内容排除不是文件系统安全边界,无法保证阻止所有形式的文件访问。它是对 GitHub 所控制工具的防护措施,并不保证第三方 MCP 服务器或客户端会遵守。还可能出现这种情况:排除文件里的语义信息如果由 IDE 间接提供,Copilot 仍可能用到,例如代码中使用的符号类型信息、悬停时显示的定义,以及常规项目属性(如生成配置相关信息)。
在 IDE、GitHub Copilot CLI 或 Copilot agent 中使用 GitHub Copilot app 时,内容排除会阻止代理通过 Copilot 工具访问被排除的文件,并在运行命令和脚本之前检查其中可识别的文件路径,但可能无法检测到间接的文件访问。文档明确写了:内容排除不能替代操作系统权限或其他访问控制。目前也不适用于符号链接和远程文件系统上的存储库。
另外,配置排除后,客户端(例如 VS Code 的 Copilot 扩展)会把当前仓库 URL 发到 GitHub 服务器,以便返回正确的策略;文档写明这些 URL 不会记录到任何位置。

所以密钥文件除了写进排除规则,仍要按仓库原有的权限、密管和 .gitignore 来管。不要把「已经排除」理解成「这份文件不会离开这台电脑」。
5. 可勾核对清单
- □ 组织有 Copilot Business 或 Copilot Enterprise 计划,且当前账号是组织所有者(或仓库管理员,仅限该仓库的排除项)
- □ 已打开组织 Settings → Copilot → Policies,并确认企业有没有把相关策略锁死
- □ 已核「与公共代码匹配的建议」:组织成员若由 Enterprise Cloud 座位分配,个人设置页改不了,需看组织或企业;多组织许可时按限制性最高的组织生效
- □ 已把需要避开补全和对话的路径写进内容排除(例如
secrets.json、**/.env),并确认继承来的灰色框无法在子仓库里改 - □ 改完排除后,已等待最多 30 分钟或按文档重载 IDE,并在排除文件与未排除文件里对照建议、Chat 引用是否消失
- □ 已读到:内容排除不是文件系统安全边界,不能替代操作系统权限,也不保证第三方客户端遵守
6. 相关阅读
- AI 编程工具怎么选:Cursor、GitHub Copilot、通义灵码的使用场景与数据设置
- AI 工具的数据隐私:哪些内容别往对话框里贴
- 用 AI 辅助写代码:新手避坑清单
- ChatGPT 记忆怎么管理:查看删除、临时聊天和数据导出怎么核对
- Claude Project 知识库:上传文件范围、引用出处和删除怎么核对
来源(查询 2026-11-14,北京时间):GitHub Docs 管理组织中 GitHub Copilot 的策略和功能、GitHub Copilot 的内容排除功能、从 GitHub Copilot 中排除内容、当组织中的 GitHub Copilot 策略出现冲突时的功能可用性、以个人订阅者身份管理 GitHub Copilot 策略。未在当前文档写明的具体价格、界面按钮文案和计划变更,本文不编。