Courses
一旦为团队启用 GitHub Copilot,配置相关的问题就会接踵而至。有哪些数据会离开 IDE?哪些仓库不应向建议开放?当建议与公共代码匹配时会发生什么?
无论您是自行管理环境的开发者,还是在组织内推广 Copilot 的管理员,理解其隐私与安全范围,都是正确使用该工具的一部分。
本文将带您了解 Copilot 如何处理您的数据,以及如何配置隐私设置、内容排除和重复检测过滤器等防护措施,并介绍在出现故障时如何排查最常见的问题。
GitHub Copilot 如何处理您的数据
正如我们在 GitHub Copilot 最佳实践教程中所述,每当您在 IDE 中输入时,Copilot 都会将周边代码上下文的快照发送至 GitHub 的服务器。模型处理该上下文并返回建议——这就是驱动体验的交互数据。
对于个人计划用户(Free、Pro 和 Pro+),GitHub 的隐私声明允许将这些交互数据用于模型训练。用户可随时通过个人隐私设置选择退出。Business 和 Enterprise 计划受不同的合同条款约束,完全排除交互数据用于训练——无需用户操作。
哪些属于交互数据
静态存储的私有仓库代码不会被使用。但是,在您于私有仓库中主动使用 Copilot 时生成的交互数据,除非您选择退出,否则可能用于训练。那么,“交互数据”究竟指什么?
当您使用 Copilot 时,系统会收集多类数据点以改进编码辅助,包括:
- 输入与提示:您发送给 Copilot Chat 或 CLI 的任何命令或问题。
- 输出:模型提供的代码建议或文本回应,以及您是否接受或拒绝。
- 代码上下文:光标位置周围的代码片段,以及为提供相关建议而使用的打开文件内容。
- 元数据与结构:文件名、仓库结构,以及您在 IDE 中的导航模式。
- 用户反馈:您给出的点赞或点踩,以及所撰写的评论。
不同计划下的数据处理差异
GitHub 提供多个账户层级:Free、Pro、Business 和 Enterprise。数据处理会随账户类型而异,如下表所示。
|
维度 |
Free / Pro / Pro+ |
Business |
Enterprise |
|
用于模型训练 |
需选择退出 |
否。合同中已排除 |
否。合同中已排除 |
|
静态存储的私有仓库代码 |
不使用 |
不使用 |
不使用 |
|
提示/输出保留 |
IDE:不保留。IDE 外:28 天 |
IDE:不保留。IDE 外:28 天 |
IDE:不保留。IDE 外:28 天 |
|
管理员控制 |
仅个人 |
组织级策略与席位管理 |
包含 Business 所有控制,并具备企业级策略继承与审计日志 |
|
内容排除 |
不可用 |
在仓库与组织级可用 |
全企业范围可用 |
|
知识产权保障 |
不包含 |
是,需启用重复检测过滤器 |
是,需启用重复检测过滤器 |
除个人计划的选择退出外,最主要的结论是:Business 与 Enterprise 用户可获得内容排除、知识产权保障以及组织级管理员控制,这些在免费与个人层级不可用。若想深入比较各层级除数据处理外的更多功能,请参阅我们的 GitHub Copilot 计划指南。
值得注意的细节:内容排除尚不适用于编辑模式、IDE 聊天中的 Agent 模式、GitHub Copilot CLI 或云端代理。知识产权保障要求启用重复检测过滤器,且建议需未被修改。
配置 Copilot 的隐私设置
数据隐私已成为任何企业都非常重要的方面。下面我们来了解在使用 GitHub Copilot 时,控制您的交互是否用于模型训练的相关设置。
Free、Pro 与 Pro+ 的选择退出
针对您的个人账户,您可以前往 GitHub 设置,将“允许 GitHub 将我的数据用于 AI 模型训练”设为禁用,如下面截图所示,即可选择退出将您的数据用于训练。

选择退出会停止未来的数据收集,且不会降低 Copilot 的功能。不过,GitHub 无法保证移除此前已用于训练的数据,因此您先前收集的数据可能仍保留在现有训练集内。
组织与企业策略
Business 与 Enterprise 用户已默认排除在模型训练之外,但管理员仍应审查数据共享策略,以控制在整个组织中启用哪些 Copilot 功能:
- 在组织设置 > Copilot > Policies 可为所有成员管理功能开关、席位分配与模型选择。
- 组织级策略会覆盖个人偏好,因此您在此处配置的任何设置都会全局生效。
- 企业所有者可设置跨多个组织继承的策略,并从单一仪表板审计当前状态。
使用 Copilot 内容排除
您可以决定不允许 Copilot 访问某些内容。在仓库设置中,您可以指定希望 Copilot 忽略的内容。
内容排除的工作原理
对于被排除的文件:
- 不提供行内建议。
- 其内容不会用于为其他文件提供建议。
- 其内容不会用于 GitHub Copilot Chat 的回答。
- 不会对这些文件执行 Copilot 代码审查。
仓库管理员、组织所有者与企业所有者均可配置排除。
在仓库与组织级配置排除
在仓库级,依次进入Settings > Copilot > Content Exclusion,并使用 glob 模式指定路径。常见模式包括 **"**/secrets/**"** 用于排除包含 secrets 目录的任何路径,以及 **"*.env"** 用于排除所有环境文件。
如果您要在多个仓库间统一管理排除并进行版本控制,可使用 REST API 以编程方式配置。
在组织级,路径为:Org Settings > Copilot > Content Exclusion。您在此处设置的规则适用于组织内所有仓库。
组织级规则与仓库级规则是叠加关系,会同时生效。企业级规则优先于组织级与仓库级规则。
要验证排除是否生效:打开被排除的文件,询问 Copilot Chat“解释此文件”。如果 Chat 就文件内容给出有意义的回答,说明排除未生效。此时请重载扩展并重新检查规则语法。
需要了解的限制
在使用 GitHub Copilot 内容排除时,请注意以下事项:
- Copilot CLI、Agent 模式与云端代理暂不遵循内容排除规则(截至 2026 年年中)。
- 语义泄露:来自被排除文件的类型信息与悬浮定义仍可能以间接方式影响建议。
- 符号链接与远程文件系统不在覆盖范围内。
代码引用与重复检测器
GitHub Copilot 通过引用并链接代码来源,帮助您了解建议代码的出处。当您接受此类代码建议时,Copilot 会记录其来源 URL 及许可证信息。
基于这些信息,您可以决定是否使用该代码片段,以及应如何进行署名。
重复检测过滤器的工作方式
当 Copilot 生成建议时,会针对已知的公共代码运行过滤器。如果建议与某公共仓库的相似度超过阈值,该建议将被拦截或附带来源标注。
当您接受建议时,Copilot 会记录
- 接受的日期与时间
- 添加建议的文件
- 添加代码的片段
- 许可证及代码来源的 URL
当匹配被标注时,您可以在 IDE 中直接查看代码引用。在 VS Code 中,匹配的引用会与建议一同显示在 Copilot 输出面板中。

过滤器未覆盖的情况
重复检测过滤器不会匹配以下情况:
- 过于通用的短代码片段与常见模式。
- 从来源重构或部分修改过的代码。
该过滤器的目标是匹配逐字/近似逐字的相似内容,而非概念上的相似性。
知识产权保障与合同保护
GitHub 为 Copilot Business 与 Enterprise 客户提供知识产权(IP)保障。如果某条建议引发 IP 申诉,GitHub 将承担法律抗辩。
适用两项条件:
- 必须启用重复检测过滤器
- 您需处于合资格的计划中
Free 与 Pro 用户不在保障范围内。该措施是一项商业性质的安全保障,并不会阻止匹配出现,而是在匹配引发法律问题时提供风险兜底。
在 GitHub.com 上管理 Copilot 策略
GitHub.com 上的 Copilot 策略页面是组织与企业管理员控制团队范围内 Copilot 行为的地方。
启用与禁用 Copilot 功能
管理员可以分别切换代码补全、Chat、代码审查、GitHub CLI 集成与 Agent 模式。这种粒度有助于循序推进功能上线,或对特定团队限制某些能力。
席位分配也位于此处:您可以控制哪些成员可访问,并按用户或用户组分配席位。
配置允许的 AI 模型
Copilot 现已支持多种底层模型,管理员可以限制组织可用的模型。您可以固定使用某个特定模型,或开放全部可用选项,由开发者自行选择。
对于政府与受监管环境,GitHub 提供符合联邦风险与授权管理计划(FedRAMP)要求的模型选项。
请在您组织的 Copilot 选项卡下查看 Copilot 策略设置,以了解您的账户层级可用的选项。
审计与合规
Copilot 使用指标(包括补全率、活跃用户数、功能与模型趋势)可在企业与组织层级的 Insights 选项卡下查看(Insights > Copilot usage)。
必须先启用“Copilot usage metrics”策略才能访问该仪表板。可通过 NDJSON 导出获取按成员的明细。
席位与许可证数据单独管理,位置为Org Settings > Copilot > Access。
若需了解新的 Usage Metrics API 及其他高级功能的详细说明,请查看我们的 GitHub Copilot Enterprise 指南。
请注意,审计日志不包含客户端会话数据(如提示语);对此需要自定义方案。若要保留 180 天以上的历史或设置异常警报,GitHub 建议使用其内置的流式功能将审计日志流式传输至 SIEM 平台。
GitHub Copilot 故障排除
当 Copilot 停止工作时,原因几乎总是以下几类之一。在提交支持工单前,请先按以下步骤排查。
建议缺失或停止出现
首先查看 IDE 状态栏中的 Copilot 状态图标。图标上有一条对角线表示当前文件启用了内容排除。
若图标正常但未出现建议,请按以下顺序检查:
- 将 IDE 与 Copilot 扩展更新至最新版本。
- 确认您的订阅有效且账户已分配席位。
- 检查当前文件与仓库的内容排除规则,并测试网络连接。
代理与 VPN 配置是常见的“静默”阻断因素。IDE 需要访问 GitHub 基础设施上的 Copilot 服务器,而企业代理有时会在无明显报错的情况下拦截。
内容排除未按预期生效
在您新增或更改内容排除后,对于已加载设置的 IDE,可能需要最多 30 分钟才会生效。
若要立即应用更改:
- 在 VS Code 中,打开命令面板并运行Developer: Reload Window。
- 在 JetBrains IDE 与 Visual Studio 中,关闭并重新打开应用。
- 在 Vim/Neovim 中,无需操作;每次打开文件都会自动获取排除配置。
重新加载后,请显式测试排除:打开被排除文件并让 Chat 解释它。如果 Chat 针对该文件内容作出回答,说明排除未生效,需重新检查规则语法。
请注意,三项 Copilot 功能不支持内容排除:Copilot CLI、Copilot 编码代理(云端自治代理)以及 IDE 中 Copilot Chat 的 Agent 模式。若您在这些功能中看到意外的文件访问,这并非配置错误。
身份验证与令牌问题
如果在 VS Code 中已登录但 Copilot 不可用,请通过左下角的账户图标退出登录,重新加载窗口(F1 > Developer: Reload Window 于 VS Code),然后重新登录。
对于 Visual Studio,请确认登录的 GitHub 账户与拥有 Copilot 席位的账户一致,必要时刷新凭据,或尝试移除并重新添加 GitHub 账户并重启 Visual Studio。
速率限制
Copilot 采用基于使用量的计费模式,因此各计划都有各自的容量上限,且高级模型的消耗速度快于基础模型。
如果在会话中途建议停止出现,或 Copilot Chat 返回错误,切换为“自动模型选择”(或倍数更小的模型)可在用量窗口重置期间缓解问题。
企业管理员可通过 Copilot 分析仪表板主动监控用量,提前规避触顶。
若遇到服务级问题,在本地排查前请先查看 githubstatus.com。
结语
GitHub Copilot 为团队在数据处理方面提供了实质性的控制能力,从计划层级的合同保障,到细粒度的内容排除与重复检测过滤器,一应俱全。
理解这些设置(并掌握正确配置的方法),能够让您在个人或企业级推广 Copilot 时更有信心。若出现异常,上述故障排除步骤应能助您迅速回到正轨。
如果您希望亲手体验 GitHub Copilot,学习如何自定义并用好它的智能功能,我强烈推荐我们的 Software Development with GitHub Copilot 课程。
GitHub Copilot 隐私与故障排除常见问答
GitHub Copilot 会将我的私有仓库代码发送到 GitHub 服务器吗?
Copilot 会将您打开的编辑器中紧邻的代码上下文发送至 GitHub 服务器以生成建议。它不会读取静态存放在 GitHub 上的私有仓库代码。
如何阻止 GitHub 将我的 Copilot 数据用于模型训练?
前往 GitHub 设置,然后进入 Copilot,将“允许 GitHub 将我的数据用于 AI 模型训练”关闭。该选择退出会立即应用于未来的数据收集。Copilot Business 与 Enterprise 用户会自动被排除在训练数据使用之外,无需更改任何设置。
什么是内容排除,我该如何设置?
内容排除是一条规则,用于阻止 Copilot 读取或基于特定文件或路径生成建议。您可在仓库级通过Settings > Copilot > Content Exclusion 进行配置,使用 glob 模式,如 '*.env' 或 '**/secrets/**'。组织所有者可设置适用于所有仓库的排除规则。
GitHub Copilot 的重复检测过滤器能防止版权问题吗?
它会针对已知公共代码过滤逐字和近似逐字的匹配,并可标注来源许可证。它无法识别概念上相似的代码或部分改写。若需完整的 IP 保护,Copilot Business 与 Enterprise 客户在启用重复检测过滤器的前提下,若建议引发法律声明,还可获得 IP 保障覆盖。
为什么 GitHub Copilot 在某个特定文件中不再显示建议?
Copilot 状态图标上的对角线表示该文件有内容排除规则生效。请检查仓库与组织的内容排除设置,查看该文件是否匹配某条规则。若匹配且您希望在此文件中允许建议,请更新排除模式。
Agent 模式会遵循内容排除规则吗?
不会。截至 2026 年 5 月,Copilot 的 Agent 模式与云端代理不遵循内容排除规则。
如何修复 GitHub Copilot 的身份验证错误?
S在 IDE 中退出 GitHub 并重新登录。确认您登录的账户拥有有效的 Copilot 席位。对于企业账户,若您近期更改了密码或重新配置了 SSO,请重新进行身份验证。在 Visual Studio 中,检查是否存在重复或冲突的 Copilot 扩展版本。
什么是 GitHub Copilot 的 IP 保障,谁可以享有?
IP 保障指的是,当 Copilot 的某个建议引发知识产权申诉时,GitHub 将承担法律抗辩费用。该保障适用于 Copilot Business 与 Copilot Enterprise 客户,且需满足两项条件:启用重复检测过滤器,且建议未被修改。Free 与 Pro 计划用户不在覆盖范围内。