Origin 目前處於早期 beta 版。您可以創建倉庫、使用 git 推送和拉取、從 GitHub 鏡像倉庫、瀏覽和搜索代碼、創建和合並 PR,並與您的 Cursor 團隊共享。
請通過 hi@cursor.com 提交任何反饋,幫助我們改進產品。
origin pr 的所有子命令及其選項。有關 CLI 的其他命令,請參閱命令。有關 Origin 中 PR 的工作方式,請參閱PR。
指定 PR¶
PR 命令會根據當前檢出中的 origin Git 遠程倉庫推斷代碼倉庫。可使用 -R, --repo 以 org/name 格式指定。
大多數子命令接受可選的 [target]。數字會選中對應的 PR,其他內容會被視爲分支名稱。省略時,CLI 會使用當前分支對應的開放或草稿 PR:
origin pr view 13 # PR 13
origin pr view my-branch # my-branch 對應的 PR
origin pr view # 當前分支對應的 PR
子命令¶
| 子命令 | 描述 | 用法 | |
|---|---|---|---|
create |
在 Origin 倉庫中創建 PR | origin pr create -t "Fix CI" |
|
list |
ls |
列出代碼倉庫中的 PR | origin pr list |
status |
顯示代碼倉庫中與你相關的 PR | origin pr status |
|
view [target] |
顯示 PR,以及可選顯示其 diff、檢查或評論 | origin pr view 13 |
|
diff [target] |
查看 PR 的 diff | origin 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] |
合併 PR | origin pr merge |
|
close [target] |
關閉 PR | origin pr close |
|
reopen [target] |
重新打開已關閉的 PR | origin pr reopen |
|
refresh [target] |
根據當前引用創建新版本快照 | origin pr refresh |
推送到 head 分支會自動創建新版本快照。僅當 origin pr view 或 origin 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> |
初始狀態:draft 或 open (默認值:draft) |
-d, --draft |
創建爲草稿,等同於 --status draft |
-f, --fill |
使用提交信息作爲標題和響應體 |
--fill-first |
使用首次提交的信息作爲標題和響應體 |
列出和查看狀態¶
| 命令 | 選項 | 描述 |
|---|---|---|
list |
-s, --state <state> |
按狀態篩選:open、closed、merged、draft 或 all (默認值: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 |
list、status、view、diff 和 checks 也接受 --color <always|never|auto> (默認值:auto) 。
--diff、--checks 和 --comments 僅影響 origin pr view 的純文本輸出。對於 JSON,請改爲請求所需字段,例如 files、mergeability、ciState、comments 或 threads。
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 --help
origin pr create --help
origin pr thread --help