# 代码扫描合并保护

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

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

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

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

通常，对于长期存在的功能分支，如果您希望确保代码在拉取请求合并前已经过分析，则应使用 code scanning 合并保护。

配置 code scanning 规则不会自动启用 code scanning。 若要了解如何启用代码扫描，请参阅 [配置代码扫描的默认设置](/zh/enterprise-server@3.22/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning)。

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

## 可用性

您可以通过规则集设置 code scanning 合并保护：

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

## 例外和限制

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

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

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

## 后续步骤

若要配置需要 code scanning 结果的规则集，请参阅 [设置代码扫描合并保护](/zh/enterprise-server@3.22/code-security/how-tos/find-and-fix-code-vulnerabilities/manage-your-configuration/set-merge-protection)。