关于 GitHub UI 中的推送保护
当您从 GitHub UI 创建或编辑文件时,推送保护会阻止包含受支持的秘密的提交,从而防止您意外地将秘密提交到代码库。
如果您尝试上传包含受支持的秘密的文件,GitHub 也会阻止提交。
注意
Web UI 中的文件上传推送保护目前处于公开预览阶段,可能会发生更改。
您应该:
GitHub 每次只会在 Web UI 中显示一个检测到的秘密。如果代码库中已经检测到特定秘密并且已经存在警报,则 GitHub 将不会阻止该秘密。
组织所有者可以提供一个自定义链接,该链接将在推送被阻止时显示。此自定义链接可以包含特定于您组织的资源和建议。例如,自定义链接可以指向包含有关组织秘密保管库、应联系哪些团队和个人以及组织使用秘密和重写提交历史记录的批准策略的信息的自述文件。
解决被阻止的提交
当您使用 Web UI 尝试将受支持的秘密提交到受推送保护保护的代码库时,GitHub 将阻止提交。
您将看到一个对话框,其中包含有关秘密位置的信息,以及允许您推送秘密的选项。秘密还会在文件中下划线,以便您可以轻松找到它。
要在 Web UI 中解决被阻止的提交,您需要从文件中删除秘密。删除秘密后,您就可以提交更改。
注意
要了解如何在命令行解决被阻止的推送,请参阅“使用命令行中的推送保护”。
绕过推送保护
如果 GitHub 阻止了您认为可以安全提交的秘密,您可以通过指定允许秘密的原因来绕过阻止。
当您允许推送秘密时,会在**安全**选项卡中创建警报。如果您指定秘密是误报或仅用于测试,GitHub 将关闭警报并且不会发送通知。如果您指定秘密是真实的并且您稍后会修复它,GitHub 将保持安全警报处于打开状态并向提交的作者以及代码库管理员发送通知。有关更多信息,请参阅“管理秘密扫描的警报”。
当贡献者绕过秘密的推送保护阻止时,GitHub 还会向已选择接收电子邮件通知的组织所有者、安全管理员和代码库管理员发送电子邮件警报。
-
在 GitHub 阻止您的提交时出现的对话框中,查看秘密的名称和位置。
-
选择最能描述为什么您应该能够推送秘密的选项。
-
如果秘密仅用于测试并且不构成威胁,请单击**它用于测试**。
-
如果检测到的字符串不是秘密,请单击**它是误报**。
-
如果秘密是真实的,但您打算稍后修复它,请单击**我稍后会修复它**。
注意
如果代码库启用了秘密扫描,则您需要指定绕过推送保护的原因。
当推送至公共代码库且未启用秘密扫描时,您仍然可以免受意外推送秘密的保护,这要归功于用户推送保护,该保护默认情况下为您的用户帐户启用。
启用用户推送保护后,GitHub 会自动阻止向公共仓库推送包含受支持密钥的提交,但您无需指定允许密钥的理由,GitHub 也不会生成警报。更多信息,请参阅“用户推送保护”。
-
-
点击允许密钥。