Skip to main content

Command Palette

Search for a command to run...

源站

PR 命令

origin pr 的所有子命令及其选项。有关 CLI 的其他命令,请参阅命令。有关 Origin 中 PR 的工作方式,请参阅PR

指定 PR

PR 命令会根据当前检出中的 origin Git 远程仓库推断代码仓库。可使用 -R, --repoorg/name 格式指定。

大多数子命令接受可选的 [target]。数字会选中对应的 PR,其他内容会被视为分支名称。省略时,CLI 会使用当前分支对应的开放或草稿 PR:

origin pr view 13        # PR 13origin pr view my-branch # my-branch 对应的 PRorigin pr view           # 当前分支对应的 PR

子命令

子命令描述用法
create在 Origin 仓库中创建 PRorigin pr create -t "Fix CI"
listls列出代码仓库中的 PRorigin pr list
status显示代码仓库中与你相关的 PRorigin pr status
view [target]显示 PR,以及可选显示其 diff、检查或评论origin pr view 13
diff [target]查看 PR 的 difforigin pr diff
checks [target]显示 PR 的 CI 状态origin pr checks
checkout [target]获取并检出 PR 分支origin pr checkout 13
edit [target]编辑标题、响应体或基准分支origin pr edit -t "New title"
ready [target]将草稿标记为可供评审origin pr ready
review [target]添加评审origin pr review --approve
comment [target]添加讨论评论origin pr comment -b "LGTM"
thread列出、解决、重新打开和回复评审线程origin pr thread list
merge [target]合并 PRorigin pr merge
close [target]关闭 PRorigin pr close
reopen [target]重新打开已关闭的 PRorigin pr reopen
refresh [target]根据当前引用创建新版本快照origin pr refresh

推送到 head 分支会自动创建新版本快照。仅当 origin pr vieworigin pr checks 仍显示之前的 head 提交时,才运行 origin pr refresh。如果已解析的提交与最新版本一致,该命令不会执行任何操作。

origin pr review 会提交正式评审。origin pr comment 会添加讨论评论。origin pr view --comments 会同时列出两者。

创建

选项描述
-t, --title <title>PR 标题
-b, --body <body>PR 响应体
--description <text>PR 描述
-F, --body-file <path>从文件读取响应体。使用 - 表示标准输入
-H, --head <branch>包含您的提交的分支 (默认值:当前分支)
-B, --base <branch>要将您的代码合并到的分支 (默认值:仓库默认分支)
--push如果 head 分支尚未推送到远程,则直接推送,无需提示
--remote <remote>head 分支尚未推送到远程时要推送到的远程仓库 (默认值:origin)
--status <status>初始状态:draftopen (默认值:draft)
-d, --draft创建为草稿,等同于 --status draft
-f, --fill使用提交信息作为标题和响应体
--fill-first使用首次提交的信息作为标题和响应体

列出和查看状态

命令选项描述
list-s, --state <state>按状态筛选:openclosedmergeddraftall (默认值:open)
list--mine仅显示您创建的 PR
list-B, --base <branch>按基准分支筛选
list-H, --head <branch>按 head 分支筛选
list--file <path>按已更改的路径筛选。可重复指定;末尾的 / 匹配文件夹前缀
list-L, --limit <number>要获取的最大项数 (默认值:30)
list--json <fields>输出包含指定字段的 JSON,例如 number,title,status
list-q, --jq <expression>使用 jq 表达式筛选 JSON 输出。需要 --json
status-c, --conflict-status显示每个 PR 的合并冲突状态

查看、diff 和检查

命令选项描述
view--diff显示所选版本收集到的补丁 diff
view--checks包含可合并性和 CI 摘要
view-c, --comments显示评论和评审,以及各线程的解决状态
view--name-only配合 --diff 使用时,仅输出修改的文件路径
view--exclude <glob>排除匹配 glob 的路径。可重复指定
view-w, --web在浏览器中打开 PR
view--change-version <number>要显示的版本 (默认值:最新)
view--json <fields>输出包含所列字段的 JSON。单独使用 --json 会列出可用字段
view-q, --jq <expression>使用 jq 表达式筛选 JSON 输出。需要 --json
diff--patch以补丁格式显示 diff
diff--name-only仅输出修改的文件路径
diff-e, --exclude <glob>排除匹配 glob 的文件。可重复指定
checks--watch持续检查,直至完成
checks--json <fields>输出包含所列字段的 JSON
checks-q, --jq <expression>使用 jq 表达式筛选 JSON 输出。需要 --json

liststatusviewdiffchecks 也接受 --color <always|never|auto> (默认值:auto) 。

--diff--checks--comments 仅影响 origin pr view 的纯文本输出。对于 JSON,请改为请求所需字段,例如 filesmergeabilityciStatecommentsthreads

Checkout、编辑和生命周期

命令选项描述
checkout-b, --branch <name>要使用的本地分支名称 (默认值:PR 的 head 引用)
checkout--detach以分离 HEAD 的方式 checkout
checkout-f, --force将现有本地分支重置为最新状态
checkout--remote <remote>要从中 fetch 的远程仓库 (默认值:origin)
edit-t, --title <title>设置新标题
edit-b, --body <body>设置新的正文
edit-F, --body-file <path>从文件读取新的正文。使用 - 表示标准输入
edit-B, --base <branch>更改基准分支
ready--undo将 PR 转回草稿状态
merge--auto条件满足后自动合并并返回
merge--disable-auto关闭此 PR 的就绪后合并功能
close-c, --comment <body>留下关闭评论
reopen-c, --comment <body>添加重新打开评论

评审和评论

命令选项描述
review-a, --approve批准 PR
review-c, --comment以评论形式提交评审
review-b, --body <body>评审正文文本
review-F, --body-file <path>从文件读取评审正文。使用 - 表示标准输入
review--change-version <number>要评审的版本 (默认值:最新)
comment-b, --body <body>评论正文文本
comment-F, --body-file <path>从文件读取评论正文。使用 - 表示标准输入

评审线程

每条评审评论都属于一个线程,并各自具有解决状态。

子命令描述用法
thread list [target]列出线程及其解决状态origin pr thread list --unresolved
thread resolve <thread-id> [target]将线程标记为已解决origin pr thread resolve t_123
thread reopen <thread-id> [target]重新打开已解决的线程origin pr thread reopen t_123
thread reply <thread-id> [target]向线程添加评论origin pr thread reply t_123 -b "Fixed"
命令选项描述
list--unresolved仅显示未解决的线程
list-c, --comments打印每条评论的完整内容,而非开头摘录
list--change-version <number>仅显示针对该版本提交的线程 (默认值:所有版本)
list--json <fields>使用指定字段输出 JSON,例如 id,resolved,path
list-q, --jq <expression>使用 jq 表达式筛选 JSON 输出。需要 --json
reply-b, --body <body>回复正文文本
reply-F, --body-file <path>从文件读取回复正文。使用 - 表示标准输入

需检查“所有线程均已解决”的脚本可使用 origin pr thread list --unresolved --json id --jq length

获取帮助信息

每个子命令都支持 --help

origin pr --helporigin pr create --helporigin pr thread --help

后续操作