Skip to main content

在临时专用分支中协作以解决存储库安全漏洞

您可以创建临时私有复刻,以私下协作修复仓库中的安全漏洞。

注意:本文适用于作为存储库所有者编辑存储库级别的建议。

不是存储库所有者的用户可以在 github.com/advisories 上的 GitHub Advisory Database 中参与全局安全建议。 对全局公告的编辑不会改变或影响公告在存储库中的显示方式。 有关详细信息,请参阅“在 GitHub Advisory Database 中编辑安全公告”。

先决条件

在临时私有复刻中进行协作之前,必须创建维护员通告草稿。 有关详细信息,请参阅“创建存储库安全通告”。

创建临时私有复刻

任何对安全通告有管理权限的人都可以创建临时私有复刻。

为保证漏洞相关信息的安全,集成系统(包括 CI)无法访问临时私有复刻。

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在存储库名称下,单击“安全性”。 “安全”选项卡 1. 在左侧边栏中,单击“安全通告”。 “安全通告”选项卡
  2. 在“Security Advisories(安全通告)”列表中,单击要在其中创建临时私有复刻的安全通告。 列表中的安全通告
  3. 单击“新建临时专用分支”。 “新建临时专用分支”按钮

将协作者添加到临时私有复刻

对安全通告具有管理员权限的任何人都可以向安全通告添加其他协作者,而安全通告的协作者可以访问临时私有复刻。 有关详细信息,请参阅“将协作者添加到存储库安全通告”。

将更改添加到临时私有复刻

任何对安全通告有写入权限的人都可以向临时私有复刻添加更改。

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在存储库名称下,单击“安全性”。 “安全”选项卡 1. 在左侧边栏中,单击“安全通告”。 “安全通告”选项卡
  2. 在“Security Advisories(安全通告)”列表中,单击要向其添加更改的安全通告。 列表中的安全通告
  3. 在 GitHub 上或在本地添加更改:
    • 若要在 GitHub 上添加更改,请在“向此通告添加更改”下单击“临时专用分支”。 然后,创建新分支并编辑文件。 有关详细信息,请参阅“在存储库中创建和删除分支”和“编辑文件”。
    • 要在本地添加更改,请按照“克隆并创建新分支”和“进行更改,然后推送”下的说明进行操作。 “向此通告添加更改”框

从临时私有复刻创建拉取请求

任何对安全通告有写入权限的人都可以从临时私有复刻创建拉取请求。

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在存储库名称下,单击“安全性”。 “安全”选项卡 1. 在左侧边栏中,单击“安全通告”。 “安全通告”选项卡
  2. 在“Security Advisories(安全通告)”列表中,单击要在其中创建拉取请求的安全通告。 列表中的安全通告
  3. 在分支名称的右侧,单击“比较和拉取请求”。 “比较和拉取请求”按钮 1. 为您的拉取请求输标题和说明。 拉取请求标题和描述字段 1. 要创建可供审查的拉取请求,请单击“创建拉取请求”。 若要创建草稿拉取请求,请使用下拉列表并选择“创建草稿拉取请求”,然后单击“草稿拉取请求” 。 有关草稿拉取请求的详细信息,请参阅“关于拉取请求”。“创建拉取请求”按钮

您不能在临时私有复刻中合并个别拉取请求。 而可以在相应的安全通告中一次合并所有打开的拉取请求。 有关详细信息,请参阅“合并安全通告中的更改”。

合并安全通告中的更改

对安全通告具有管理员权限的任何人都可合并安全通告中的更改。

您不能在临时私有复刻中合并个别拉取请求。 而可以在相应的安全通告中一次合并所有打开的拉取请求。

在合并安全通告中的更改之前,临时私有复刻中每个打开的拉取请求必须为可合并状态。 不存在合并冲突,并且必须满足分支保护要求。 为保证漏洞相关信息的安全,不在临时私有复刻的拉取请求上运行状态检查。 有关详细信息,请参阅“关于受保护的分支”。

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在存储库名称下,单击“安全性”。 “安全”选项卡 1. 在左侧边栏中,单击“安全通告”。 “安全通告”选项卡
  2. 在“Security Advisories(安全通告)”列表中,单击要合并其更改的安全通告。 列表中的安全通告
  3. 若要合并临时专用分支中所有打开的拉取请求,请单击“合并拉取请求”。 “合并拉取请求”按钮

合并安全通告中的更改后,您可以发布安全通告,以提醒您的社区有关项目早期版本中安全漏洞的信息。 有关详细信息,请参阅“发布存储库安全通告”。

延伸阅读