Skip to main content

解决拉取请求中的阻塞

识别并解决拉取请求中的代码质量块,以便合并更改。

谁可以使用此功能?

具有写入访问权限的用户

注意

GitHub Code Quality 当前正处于 公共预览版 阶段,并可能会发生变化。 在 公共预览版期间,Code Quality 不会计费,尽管 Code Quality 扫描将使用 GitHub Actions 分钟。

了解拉取请求被阻止的原因

存储库管理员可以使用 GitHub Code Quality 设置代码质量门,以确保可维护性和可靠性。 当你创建拉取请求时,扫描会自动运行,以根据这些标准检查更改。

如果你的拉取请求引入了未达到所需质量阈值的代码,在“检查”部分的拉取请求底部,你将看到一个合并阻止横幅:“合并被阻止:已检测到代码质量问题。”

拉取请求的“检查”部分中合并块横幅的屏幕截图。

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

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

扫描结果作为拉取请求的注释报告,由 github-code-quality[bot] 留下。 每个注释对应于更改中检测到的特定代码质量问题。

注释按严重性(错误警告注意)进行标记。 若要详细了解严重性级别的含义,请参阅 严重性级别

确定哪些问题正在阻碍您的拉取请求

存储库管理员设置的质量关卡定义了将阻止合并的最低严重级别。

合并区块横幅可以指定严重性级别的最低值。 在合并拉取请求之前,必须解决该严重级别或更高级别的所有发现结果。

拉取请求的“检查”部分中合并块横幅的屏幕截图。

注意

如果在合并块横幅中看不到定义的严重性级别,这意味着存储库使用的是最严格的代码质量阈值,这要求在合并之前解决 所有发现

解决或消除每个找出的问题

要取消阻止拉取请求,你需要通过决定是修复代码中的问题还是取消注释来解决每个必需的发现结果。

利用 Copilot自动修复 和 Copilot编程助理 解决发现结果

Copilot自动修复

对拉取请求讨论的注释包括建议的 自动修复 ,你可以直接将其提交到你的拉取请求。 仔细检查建议的自动修复,从逻辑、安全性和样式方面进行评估,然后单击 提交建议

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

Copilot编程助理

或者,如果你有 Copilot 许可证,则可以将修正工作委托给 Copilot编程助理。 在拉取请求中提及 @Copilot 并请求 Copilot 修复检测到的问题。

显示调用 Copilot 编码代理的 PR 注释的屏幕截图。

Copilot 使用眼睛表情符号(👀)响应您的评论,启动新的代理会话,并打开包含必要修复的拉取请求。

您可以跟踪 Copilot编程助理 的进程:

需要 数据变量.product.prodname_copilot_short %} 许可证才能调用 数据变量.copilot.copilot_coding_agent %}。
注册 Copilot

驳回调查结果

如果在代码库的上下文中不相关或不可执行,则可以忽略该检测结果。 常见驳回发现的原因包括:

  • 该发现位于不再维护的旧代码中。
  • 团队的编码标准中有一个为众所知的例外。
  • 这是一个误报,不会构成真正的质量风险。

消除不相关的警报可使质量检查专注于有意义的问题。

验证是否满足要求

若要查看是否满足代码质量要求,请查看拉取请求底部的“检查”部分。 合并块横幅应该不再存在,你应该能够像往常一样合并更改。

后续步骤

通过修复最近更改的文件中的发现来减少技术债务。 请参阅“使用 AI 提高最近合并代码的质量”。