跳至内容

GitHub Copilot 隐私:保障措施与故障排查指南

GitHub Copilot 的隐私设置已于 2026 年 4 月更新。了解有哪些数据会离开您的 IDE、如何配置内容排除,以及如何修复常见问题。
更新 2026年5月27日  · 11分钟

当您为团队启用 GitHub Copilot 后,各类配置问题会接踵而至:有哪些数据会离开 IDE?哪些仓库应禁止用于生成建议?当建议与公共代码匹配时会发生什么? 

无论您是自行管理环境的开发者,还是在整个组织内推广 Copilot 的管理员,理解其隐私与安全范围,都是正确使用该工具的重要一环。

本文将带您了解 Copilot 如何处理您的数据,以及如何配置隐私设置、内容排除和诸如重复过滤器之类的保障措施,并在出现问题时,如何排查最常见的故障。

GitHub Copilot 如何处理您的数据

正如我们在GitHub Copilot 最佳实践教程中所述,每当您在 IDE 中输入时,Copilot 会将周边代码上下文的快照发送到 GitHub 服务器。模型处理该上下文并返回建议——这构成了支撑体验的交互数据。

对于个人套餐用户(Free、Pro 和 Pro+),GitHub 的隐私声明允许将这些交互数据用于模型训练。用户可随时通过个人隐私设置选择退出。Business 与 Enterprise 套餐则受单独的合同条款约束,完全排除将交互数据用于训练——无需用户采取任何操作。

什么算作交互数据

静态存储的私有仓库代码不会被使用。但在您于私有仓库中主动使用 Copilot 时产生的交互数据,除非您选择退出,否则可用于训练。那么,“交互数据”具体指什么?

当您使用 Copilot 时,系统会收集多种数据点以改进代码辅助功能,包括: 

  • 输入与提示:您发送给 Copilot 聊天或 CLI 的任何命令或问题。 
  • 输出:模型生成的代码建议或文本回复,以及您是否接受或拒绝。 
  • 代码上下文:光标附近的代码片段和用于提供相关建议的已打开文件内容。 
  • 元数据与结构:文件名、仓库结构,以及您在 IDE 中的导航模式。 
  • 用户反馈:您给出的点赞或点踩评价,以及所写的评论。

不同套餐下的数据处理差异

GitHub 提供多个账户层级:Free、Pro、Business 和 Enterprise。不同账户类型的数据处理方式各不相同,如下表所示。

维度

Free / Pro / Pro+

Business

Enterprise

用于模型训练

需手动选择退出

否。合同中已排除

否。合同中已排除

静态私有仓库代码

不使用

不使用

不使用

提示/输出保留

IDE:不保留。IDE 外:28 天

IDE:不保留。IDE 外:28 天

IDE:不保留。IDE 外:28 天

管理控制

仅个人级

组织级策略与席位管理

包含所有 Business 控制,另有企业范围的策略继承与审计日志

内容排除

不可用

可在仓库与组织级配置

企业范围可用

IP 保障(赔付)

不包含

是,需启用重复过滤器

是,需启用重复过滤器

除个人套餐的选择退出外,另一要点是:Business 与 Enterprise 用户可使用内容排除、IP 保障以及组织级管理控制,这些在免费和个人层级不可用。若需了解除数据处理外各层级更多差异,请参阅我们的GitHub Copilot 套餐指南。

值得注意的细节:内容排除当前尚不适用于编辑模式(Edit)、IDE 聊天中的 Agent 模式、GitHub Copilot CLI,或云端代理。获得 IP 保障的前提是启用重复检测过滤器,且建议需未经修改地使用。

配置 Copilot 的隐私设置

数据隐私已成为任何企业都非常重视的方面。下面我们来了解在使用 GitHub Copilot 时,哪些设置会决定您的交互是否被用于模型训练。

Free、Pro 与 Pro+ 的选择退出

对于您的个人账户,您可前往 GitHub Settings,将“Allow GitHub to use my data for AI model training”设置为 Disabled,如下面的截图所示,以选择不将您的数据用于模型训练。 

Opt out from interaction data usage

选择退出将停止未来的数据收集,且不会降低 Copilot 的功能。然而,GitHub 无法保证移除已用于过往训练的数据,因此您此前收集的数据可能仍保留在现有训练集内。

组织与企业策略

Business 与 Enterprise 用户已默认排除在模型训练之外,但管理员仍应审查数据共享策略,以控制在组织范围内启用哪些 Copilot 功能:

  • 在组织 Settings > 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 Code Referencing Cycle

过滤器无法捕捉的情况

重复过滤器无法匹配以下情况: 

  • 过于通用的短片段与常见模式。
  • 从来源重构或部分修改过的代码。

该过滤器旨在匹配逐字/近似逐字的相似,而非概念层面的相似。

IP 保障与合同保护

GitHub 为 Copilot Business 与 Enterprise 客户提供知识产权(IP)保障。如果某条建议引发 IP 申诉,GitHub 将承担法律抗辩。

适用两项条件: 

  1. 必须启用重复过滤器
  2. 您需处于符合条件的套餐

Free 与 Pro 用户不在保障范围内。此为商业层面的安全网,并不阻止匹配出现;若匹配引发法律问题,则承担风险。

在 GitHub.com 上管理 Copilot 策略

GitHub.com 上的 Copilot 策略页面是组织与企业管理员统一管控团队范围内 Copilot 能力的地方。

启用与停用 Copilot 功能

管理员可分别切换代码补全、Chat、代码评审、GitHub CLI 集成与 Agent 模式。这种细粒度控制有助于渐进式上线功能,或为特定团队限制某些能力。

席位分配也在此处进行:您可控制哪些成员可访问,并按用户或分组分配席位。

配置允许的 AI 模型

Copilot 现已支持多种底层模型,管理员可限制组织可用的模型。您可以锁定到特定模型,或允许全部可用选项并让开发者自行选择。

针对政府与受监管环境,GitHub 提供符合联邦风险与授权管理计划(FedRAMP)的模型选项。

请在组织的 Copilot 选项卡下查看 Copilot 策略设置,了解您的账户层级可用的选项。

审计与合规

Copilot 使用指标(Insights > Copilot usage),包括补全率、活跃用户数、功能与模型趋势,可在企业与组织层级的 Insights 选项卡中查看。 

在访问仪表板前,必须先启用“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 仍不可用,请通过左下角 Accounts 图标退出登录,重载窗口(F1 > Developer: Reload Window ),然后重新登录。

对于 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 Settings,然后进入 Copilot,将“Allow GitHub to use my data for AI model training”关闭。此选择退出会立即应用于未来的数据收集。Copilot Business 与 Enterprise 用户会自动被排除在训练数据之外,无需更改任何设置。

什么是内容排除?如何设置?

内容排除是一条规则,用于阻止 Copilot 读取或基于特定文件或路径生成建议。您可在仓库级通过 Settings > Copilot > Content Exclusion 进行配置,使用如 '*.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 套餐用户不在保障范围内。

主题

与 DataCamp 一起学习!

Courses

数据隐私入门

2小时
28.8K
掌握数据隐私原则,并了解如何实施隐私和安全流程。
查看详情Right Arrow
开始课程
查看更多Right Arrow