跳至主要内容

管理依赖项更新的拉取请求

您可以像管理其他拉取请求一样管理 Dependabot 触发的拉取请求,但有一些额外的选项。

谁可以使用此功能?

具有**写入**访问权限的用户

关于 Dependabot 拉取请求

Dependabot 会触发拉取请求以更新依赖项。根据存储库的配置方式,Dependabot 可能会触发版本更新和/或安全更新的拉取请求。您可以像管理任何其他拉取请求一样管理这些拉取请求,但还有一些额外的命令可用。有关启用 Dependabot 依赖项更新的信息,请参阅“配置 Dependabot 安全更新”和“配置 Dependabot 版本更新”。

当 Dependabot 触发拉取请求时,您会通过为存储库选择的通知方式收到通知。每个拉取请求都包含有关建议更改的详细信息,这些信息取自包管理器。这些拉取请求遵循存储库中定义的常规检查和测试。此外,在有足够信息的情况下,您将看到兼容性评分。这也有助于您决定是否合并更改。有关此评分的信息,请参阅“关于 Dependabot 安全更新”。

如果您需要管理许多依赖项,则可能需要为每个包管理器自定义配置,以便拉取请求具有特定的审阅者、分配人和标签。您可能还希望将一组依赖项组合在一起,以便在单个拉取请求中更新多个依赖项。有关更多信息,请参阅“自定义依赖项更新”和“配置 Dependabot 安全更新”。

注意

如果您在 90 天的时间段内没有与存储库中的 Dependabot 拉取请求进行交互,Dependabot 会将您的存储库视为不活动状态,并将自动暂停 Dependabot 更新。有关非活动标准的更多信息,请参阅“关于 Dependabot 版本更新”和“关于 Dependabot 安全更新”。

查看 Dependabot 拉取请求

  1. 在 GitHub 上,导航到存储库的主页。

  2. 在存储库名称下方,单击 拉取请求.

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled "Pull requests," is outlined in dark orange.

  3. 任何安全或版本更新的拉取请求都易于识别。

    • 作者是dependabot,即 Dependabot 使用的机器人帐户。
    • 默认情况下,它们具有dependencies标签。

更改 Dependabot 拉取请求的变基策略

默认情况下,Dependabot 会自动变基拉取请求以解决任何冲突。如果拉取请求 30 天未合并,Dependabot 将停止变基拉取请求。您仍然可以手动变基和合并拉取请求。如果您希望手动处理合并冲突,则可以使用rebase-strategy选项将其禁用。有关详细信息,请参阅“dependabot.yml 文件的配置选项”。

允许 Dependabot 变基并强制推送额外的提交

默认情况下,Dependabot 在其分支中推送额外的提交后将停止变基拉取请求。要允许 Dependabot 强制推送添加到其分支的提交,请在提交消息中包含以下任何字符串:[dependabot skip][skip dependabot][dependabot-skip][skip-dependabot](区分大小写)。

使用评论命令管理 Dependabot 拉取请求

Dependabot 会响应评论中的简单命令。每个拉取请求都在“Dependabot 命令和选项”部分中包含有关您可以用来处理拉取请求的命令的详细信息(例如:合并、压缩、重新打开、关闭或变基拉取请求)。目的是使您尽可能轻松地对这些自动生成的拉取请求进行分类。

您可以在 Dependabot 拉取请求上使用以下任何命令。

  • @dependabot cancel merge 取消先前请求的合并。

  • @dependabot close 会关闭拉取请求,并阻止 Dependabot 重新创建该拉取请求。您也可以手动关闭拉取请求以达到相同的效果。
  • @dependabot ignore this dependency 会关闭拉取请求,并阻止 Dependabot 为此依赖项创建任何更多拉取请求(除非您重新打开拉取请求或自行升级到建议的依赖项版本)。
  • @dependabot ignore this major version 会关闭拉取请求,并阻止 Dependabot 为此主版本创建任何更多拉取请求(除非您重新打开拉取请求或自行升级到此主版本)。
  • @dependabot ignore this minor version 会关闭拉取请求,并阻止 Dependabot 为此次要版本创建任何更多拉取请求(除非您重新打开拉取请求或自行升级到此次要版本)。
  • @dependabot ignore this patch version 会关闭拉取请求,并阻止 Dependabot 为此补丁版本创建任何更多拉取请求(除非您重新打开拉取请求或自行升级到此补丁版本)。
  • @dependabot merge 在您的 CI 测试通过后合并拉取请求。
  • @dependabot rebase 对拉取请求进行变基。
  • @dependabot recreate 重新创建拉取请求,覆盖对拉取请求所做的任何编辑。
  • @dependabot reopen 如果拉取请求已关闭,则重新打开它。
  • @dependabot show DEPENDENCY_NAME ignore conditions 检索指定依赖项的忽略条件信息,并在拉取请求中添加一条包含依赖项所有忽略条件的表格的评论。例如,@dependabot show express ignore conditions 将查找为 Express 依赖项存储的所有ignore条件,并在拉取请求中添加包含该信息的评论。
  • @dependabot squash and merge 在您的 CI 测试通过后,将拉取请求压缩并合并。

Dependabot 将以“竖起大拇指”的表情符号进行回应以确认命令,并可能在拉取请求中添加评论进行回复。虽然 Dependabot 通常会快速响应,但如果 Dependabot 忙于处理其他更新或命令,某些命令可能需要几分钟才能完成。

如果您运行任何用于忽略依赖项或版本的命令,Dependabot 会将存储库的首选项集中存储。虽然这是一个快速解决方案,但对于有多个贡献者的存储库,最好在配置文件中明确定义要忽略的依赖项和版本。这样,所有贡献者都可以轻松了解为什么某个特定依赖项没有自动更新。

有关更多信息,请参阅“dependabot.yml 文件的配置选项”。

使用评论命令管理分组更新的 Dependabot 拉取请求

在用于分组版本更新和安全更新的 Dependabot 拉取请求中,您可以使用评论命令来忽略和取消忽略特定依赖项和版本的更新。您可以使用以下任何命令来管理分组更新的忽略条件。

  • @dependabot ignore DEPENDENCY_NAME 会关闭拉取请求,并阻止 Dependabot 更新此依赖项。
  • @dependabot ignore DEPENDENCY_NAME major version 会关闭拉取请求,并阻止 Dependabot 更新此依赖项的主版本。
  • @dependabot ignore DEPENDENCY_NAME minor version 会关闭拉取请求,并阻止 Dependabot 更新此依赖项的次要版本。
  • @dependabot ignore DEPENDENCY_NAME patch version 会关闭拉取请求,并阻止 Dependabot 更新此依赖项的补丁版本。
  • @dependabot unignore * 会关闭当前拉取请求,清除为组中所有依赖项存储的所有ignore条件,然后打开一个新的拉取请求。
  • @dependabot unignore DEPENDENCY_NAME 会关闭当前拉取请求,清除为依赖项存储的所有ignore条件,然后打开一个新的拉取请求,其中包含指定依赖项的可用更新。例如,@dependabot unignore lodash 将打开一个新的拉取请求,其中包含 Lodash 依赖项的更新。
  • @dependabot unignore DEPENDENCY_NAME IGNORE_CONDITION 会关闭当前拉取请求,清除存储的ignore条件,然后打开一个新的拉取请求,其中包含指定忽略条件的可用更新。例如,@dependabot unignore express [< 1.9, > 1.8.0] 将打开一个新的拉取请求,其中包含版本 1.8.0 到 1.9.0 之间的 Express 更新。

提示

当您想要取消忽略特定的忽略条件时,请使用@dependabot show DEPENDENCY_NAME ignore conditions命令快速检查依赖项当前有哪些忽略条件。