管理您仓库的 Dependabot 安全更新
您可以为个人账户或组织拥有的所有符合条件的仓库启用或禁用 Dependabot 安全更新。更多信息,请参阅 管理个人账户的安全性和分析设置 或 管理组织的安全性和分析设置。
您也可以为单个仓库启用或禁用 Dependabot 安全更新。
为单个仓库启用或禁用 Dependabot 安全更新
-
在 GitHub 上,导航至仓库的主页面。
-
在仓库名称下方,点击 设置。如果您看不到“设置”选项卡,请选择 下拉菜单,然后单击 设置。

-
在侧边栏的Security部分,点击 Advanced Security。
-
在 “Dependabot 安全更新” 右侧,单击 启用 以开启此功能,或单击 禁用 以关闭它。对于公共仓库,如果此功能始终启用,则按钮会被禁用。
将 Dependabot 安全更新分组到单个拉取请求中
要使用分组安全更新,您必须首先启用以下功能
- 依赖关系图。有关详细信息,请参阅 启用依赖关系图。
- Dependabot 警报。有关详细信息,请参阅 配置 Dependabot 警报。
- Dependabot 安全更新。有关详细信息,请参阅 配置 Dependabot 安全更新。
注意
首次启用分组安全更新时,Dependabot 会立即尝试创建分组拉取请求。您可能会注意到 Dependabot 关闭旧的拉取请求并打开新的请求。
您可以通过以下一种或两种方式为 Dependabot 安全更新启用分组拉取请求。
- 要尽可能多地将可用的安全更新分组在一起(跨目录和每个生态系统),请在仓库的 “高级安全” 设置中启用分组,或在组织的 “高级安全” 全局设置中启用分组。
- 若需更细粒度的分组控制(例如按包名、开发/生产依赖、SemVer 级别,或按每个生态系统的多个目录进行分组),请在仓库中向
dependabot.yml配置文件添加相应的配置选项。
注意
如果您在 dependabot.yml 文件中已为 Dependabot 安全更新配置了分组规则,所有可用更新将按您指定的规则进行分组。仅当组织或仓库级别的分组安全更新设置也已启用时,Dependabot 才会对未在 dependabot.yml 中配置的目录进行跨目录分组。
为单个仓库启用或禁用分组 Dependabot 安全更新
-
在 GitHub 上,导航至仓库的主页面。
-
在仓库名称下方,点击 设置。如果您看不到“设置”选项卡,请选择 下拉菜单,然后单击 设置。

-
在侧边栏的Security部分,点击 Advanced Security。
-
在 “Dependabot” 下方的 “分组安全更新” 右侧,单击 启用 以开启此功能,或单击 禁用 以关闭它。
为组织启用或禁用分组 Dependabot 安全更新
您可以将分组 Dependabot 安全更新合并为单个拉取请求。有关更多信息,请参阅 配置组织的全局安全设置。
使用配置文件覆盖默认行为
您可以通过在仓库中添加 dependabot.yml 文件来覆盖 Dependabot 安全更新的默认行为。借助该文件,您可以对分组进行更细粒度的控制,并覆盖 Dependabot 安全更新设置的默认行为。
使用带有 applies-to: security-updates 键的 groups 选项来为每个包管理器创建依赖集,从而让 Dependabot 在一次拉取请求中同时更新多个依赖。您可以通过包名(patterns 和 exclude-patterns 键)、依赖类型(dependency-type 键)以及 SemVer(update-types 键)来定义分组。
Dependabot 会按照 dependabot.yml 文件中出现的顺序创建分组。如果某个依赖更新可以属于多个分组,它只会被分配到第一个匹配的分组。
如果您只需要 安全 更新并希望排除 版本 更新,可将 open-pull-requests-limit 设置为 0,以阻止针对特定 package-ecosystem 的版本更新。
有关安全更新可用配置选项的更多信息,请参阅 自定义 Dependabot 安全更新的拉取请求。
# Example configuration file that:
# - Has a private registry
# - Ignores lodash dependency
# - Disables version-updates
# - Defines a group by package name, for security updates for golang dependencies
version: 2
registries:
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
- example
- package-ecosystem: "gomod"
directories:
- "**/*"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
groups:
golang:
applies-to: security-updates
patterns:
- "golang.org*"
# Example configuration file that:
# - Has a private registry
# - Ignores lodash dependency
# - Disables version-updates
# - Defines a group by package name, for security updates for golang dependencies
version: 2
registries:
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
- example
- package-ecosystem: "gomod"
directories:
- "**/*"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
groups:
golang:
applies-to: security-updates
patterns:
- "golang.org*"
注意
为了让 Dependabot 使用此安全更新配置,directory 必须指向清单文件所在的路径(或 directories 必须包含匹配清单文件位置的路径或全局模式),并且不应指定 target-branch。