跳至主要内容

解决拉取请求中的阻断

识别并解决合并请求中的代码质量阻塞,以便您可以合并更改。

谁可以使用此功能?

具有 写入 访问权限的用户

注意

GitHub 代码质量目前处于公开预览阶段,可能会有变更。在公开预览期间,代码质量不会产生费用,但代码质量扫描会消耗 GitHub Actions 分钟数。

了解为何您的合并请求被阻塞

仓库管理员可以使用 GitHub 代码质量为可维护性和可靠性设置代码质量门槛。当您打开合并请求时,系统会自动运行扫描,以根据这些标准检查您的更改。

如果您的合并请求引入的代码低于所需的质量阈值,您将在合并请求底部的 Checks(检查)区域看到合并阻塞横幅:“合并被阻塞:检测到代码质量问题”。

Screenshot of the merge block banner in the Checks section of a pull request.

这些检查有助于维护健康、可维护的代码库,防止技术债务累积。

查看扫描结果及其严重程度级别

扫描结果会以评论形式出现在您的合并请求中,由 github-code-quality[bot] 留下。每条评论对应您更改中检测到的特定代码质量问题。

评论会根据严重程度标记(错误警告提示)。要了解严重程度级别的含义,请参阅 严重程度级别

确定哪些检测结果阻塞了您的合并请求

仓库管理员设置的质量门槛定义了会阻塞合并的最小严重程度级别

合并阻塞横幅可能会指明最小严重程度级别。在该级别或更高级别的所有检测结果都必须在您合并合并请求之前处理。

Screenshot of the merge block banner in the Checks section of a pull request.

注意

如果合并阻塞横幅中未显示严重程度级别,则表示您的仓库使用的是最严格的代码质量阈值,要求在合并前处理所有检测结果

修复或忽略每个检测结果

要解除对合并请求的阻塞,您需要通过决定是修复代码中的问题还是忽略评论来解决每个必需的检测结果。

利用 Copilot Autofix 与 Copilot 云代理修复检测结果

Copilot Autofix

合并请求中的评论包含一个建议的自动修复,您可以直接提交到合并请求。请认真审查该自动修复的逻辑、安全性和风格,然后点击提交建议

您无需 Copilot 许可证即可应用这些建议。

Copilot 云代理

或者,如果您拥有 Copilot 许可证,您可以将修复工作委派给 Copilot 云代理。在合并请求中发表评论,提及 @Copilot 并请求 Copilot 修复检测到的问题。

Screenshot showing a PR comment that invoked Copilot cloud agent.

Copilot 会对您的评论回复一个眼睛表情符号 (👀),启动新的代理会话,并打开一个包含必要修复的合并请求。

您可以跟踪 Copilot 云代理的工作

您需要 Copilot 许可证才能调用 Copilot 云代理。
注册 Copilot

忽略检测结果

如果检测结果在您的代码库上下文中不相关或不可操作,您可以忽略它。常见的忽略原因包括

  • 该检测结果位于已不再维护的旧代码中。
  • 它是您团队编码标准的已知例外。
  • 它是不会造成真实质量风险的误报。

忽略不相关的警报可以让质量检查更专注于有意义的问题。

验证您已满足要求

要查看您是否已满足代码质量要求,请查看合并请求底部的“Checks(检查)”区域。合并阻塞横幅应已消失,您应能正常合并更改。

后续步骤

通过修复最近更改文件中的检测结果来减少技术债务。请参阅 使用 AI 改进近期合并代码的质量

© . This site is unofficial and not affiliated with GitHub, Inc.