Skip to main content

使用 /pr 命令管理拉取请求

使用/pr斜杠命令直接从Copilot 命令行界面(CLI)查看、创建和修复拉取请求。

概述

          `/pr`斜杠命令允许你管理完整的拉取请求生命周期,而无需离开终端。 可以检查拉取请求状态、创建新的拉取请求,并解决查看反馈、合并冲突和 CI 失败等常见问题。

先决条件

必须在托管于GitHub的平台上的 Git 存储库中工作。

子命令

          `/pr`斜杠命令有多个子命令,可用于对拉取请求执行不同的操作。

注意

所有 /pr 子命令都与当前分支相关,例如,修正与当前分支拉取请求相关的任何失败的 CI 检查。

使用此子命令 为此 需要现有的 PR 可能提交和推送
/pr/pr view 显示当前分支的拉取请求的状态。 了解详细信息 是的
/pr view web 在浏览器中打开拉取请求。 了解详细信息 是的
/pr create 创建或更新拉取请求。 了解详细信息 是的
/pr fix feedback 处理拉取请求的审查评论。 了解详细信息 是的 是的
/pr fix conflicts 将分支与基分支同步并解决冲突。 了解详细信息 是的 是的
/pr fix ci 诊断并修复失败的 CI 检查。 了解详细信息 是的 是的
/pr fix/pr fix all 按顺序运行所有三个修复阶段:反馈、冲突,然后是 CI。 了解详细信息 是的 是的
/pr auto 根据需要创建合并请求,然后依次处理所有修复阶段,直到所有合并请求审核都通过。 了解详细信息 是的

提交和推送更改的子命令会在执行潜在的破坏性操作之前提示你提供权限,除非你预先允许这些工具。 有关详细信息,请参阅“允许和拒绝工具使用”。

查看拉取请求状态

若要检查与当前分支关联的拉取请求的状态,请在交互式会话中输入以下内容:

Copilot prompt
/pr

在浏览器中打开拉取请求

如果要在 GitHub.com 而不是终端中查看拉取请求,请输入:

Copilot prompt
/pr view web

这会在默认浏览器中打开拉取请求 URL。

创建拉取请求

若要从当前分支创建拉取请求,请输入:

Copilot prompt
/pr create
          Copilot 确保所有本地提交都推送到远程分支,然后创建拉取请求。 如果存储库中存在拉取请求模板, Copilot 请在生成拉取请求标题和说明时遵循该模板。

如果当前分支已经存在拉取请求,/pr create 会更新现有的拉取请求,而不是创建新的请求。

添加有关创建拉取请求过程的说明

可以在/pr create后面追加说明以指导Copilot。 例如:

Copilot prompt
/pr create prefix the PR title 'Project X: '

修复评审反馈

          Copilot为了查看和处理您拉取请求上的评论,请输入:
Copilot prompt
/pr fix feedback
          Copilot 获取拉取请求上的所有评审评论线程,确定变更请求内容,将更改应用于代码库,并提交和推送改动。 可操作的代码更改请求优先于会话注释。

解决合并冲突

若要将分支与基分支同步并解决任何合并冲突,请输入:

Copilot prompt
/pr fix conflicts
          Copilot 提取最新的基分支,同步你的分支,解决任何冲突,并推送最终结果。

选择合并策略

解决冲突时,Copilot 命令行界面(CLI) 需要知道是使用变基还是合并策略。 如果未配置首选项, Copilot 请在运行涉及冲突解决的命令时提示你选择。

若要设置默认合并策略,以便每次都不会提示你,请将该 mergeStrategy 设置添加到配置文件。 可以在个人用户设置 Copilot或存储库设置中设置此设置。

  • 用户设置:添加 "mergeStrategy": "rebase""mergeStrategy": "merge" 添加到用户级配置文件(通常 ~/.copilot/config.json)。
  • 存储库设置:将相同的设置添加到 .github/copilot/settings.json 存储库根目录中。

修复 CI 故障

让 Copilot 诊断并修复失败的 CI 检查,请输入:

Copilot prompt
/pr fix ci
          Copilot 标识失败的 CI 作业、分析日志以确定根本原因、应用有针对性的修补程序并推送它们。 然后,它会重新检查 CI 状态,并重复该过程,直到检查通过,或者它确定无法进行进一步的进度。

如果失败与分支的更改无关,Copilot 会明确指出这一点,以便您可以采取适当的措施。

可以追加其他上下文,以帮助 Copilot 专注于特定故障。 例如:

Copilot prompt
/pr fix ci focus on test failures

一次性修复所有问题

若要在单个命令中解决拉取请求上的所有未完成问题,请输入:

Copilot prompt
/pr fix

此操作按顺序运行三个阶段:

  1.        **审阅反馈** - 解决所有审阅评论。
    
  2.        **冲突** - 将分支与基分支同步并解决任何冲突。
    
  3.        **CI 失败** - 诊断并修复失败的 CI 检查。
    

自动执行完整的拉取请求工作流

          Copilot若要管理从创建到完全绿色状态的整个拉取请求过程,请输入:
Copilot prompt
/pr auto

如果当前分支不存在拉取请求,Copilot 会首先创建一个拉取请求。 然后,系统会在修复阶段循环处理(评审意见、冲突和 CI),直到没有评审意见、没有冲突,且所有 CI 检查都通过为止。

可以追加说明来指导拉取请求的创建。 例如:

Copilot prompt
/pr auto include migration notes in the description

延伸阅读