# 代码扫描合并保护

代码扫描规则可防止含有潜在漏洞的拉取请求被合并。

## code scanning 合并保护的规则集

规则集是一个命名的规则列表，用于控制用户如何与存储库中的分支和标记进行交互。 可以将 code scanning 规则添加到规则集，以防止在满足以下任一条件时合并拉取请求：

* 某个必需的工具发现了一个 code scanning 警报，且该警报的严重程度符合规则集中的定义。
* 所需的工具分析仍在进行中。
* 未为存储库配置所需的工具。

通常情况下，你应在长期特性分支上使用 code scanning 合并保护，以确保在拉取请求合并之前已经对代码进行分析。

配置 code scanning 规则不会自动启用 code scanning。 若要了解如何启用代码扫描，请参阅 [配置代码扫描的默认设置](/zh/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning)。

> \[!NOTE]
>
> * 规则集的合并保护与状态检查无关。 有关状态检查的详细信息，请参阅 [关于状态检查](/zh/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)。

## 可用性

可以使用规则集设置 code scanning 合并保护：

* 在存储库级别
* 在组织级别（仅用于GitHub Enterprise计划）

## 例外和限制

与规则集的合并保护 **不适用于** ：

* 合并队列组
* 默认设置分析的 Dependabot 拉取请求

此外，警报标识的所有代码行均须存在于拉取请求差异中。 有关详细信息，请参阅“[对代码扫描的 SARIF 支持](/zh/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#source-file-locations)”。

## 后续步骤

若要配置一个要求 code scanning 结果的规则集，请参阅 [设置代码扫描合并保护](/zh/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/set-code-scanning-merge-protection)。