jackin-checkout-pr
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesejackin-checkout-pr
jackin-checkout-pr
Switch the working repo onto a PR's branch via . Accepts a number, URL, or branch name.
gh pr checkout通过将当前工作仓库切换至PR分支。支持传入PR编号、URL或分支名称。
gh pr checkoutProcess
流程
-
Resolve to a PR number. Number or URL → pass todirectly. Branch name →
gh pr checkout; no match → STOP, do not fall back to rawgh pr list --head <branch> --state all --json number -q '.[0].number'.git checkout -
Guard the working tree.— if dirty, STOP and ask the operator to commit, stash, or discard first. Never auto-stash. Note
git status --porcelain(the way back).git branch --show-current -
Check the PR is open..
gh pr view <N> --json state,headRefNameorMERGED→ warn (the branch may be stale) and confirm before proceeding.CLOSED -
Switch.. Verify
gh pr checkout <N>matchesgit branch --show-current.headRefName -
Report. Switched fromto
<old>(PR #N). Way back:<headRefName>.git switch <old>
-
解析为PR编号:若传入的是编号或URL,直接传递给;若为分支名称,则执行
gh pr checkout获取对应PR编号;若无匹配结果,则终止操作,不回退到直接执行gh pr list --head <branch> --state all --json number -q '.[0].number'。git checkout -
保护工作树:执行检查工作树状态——若存在未提交修改,终止操作并提示操作者先提交、暂存或丢弃修改。绝不自动暂存。记录当前分支(
git status --porcelain),以便后续返回。git branch --show-current -
检查PR状态:执行查看PR状态。若PR为
gh pr view <N> --json state,headRefName(已合并)或MERGED(已关闭),则发出警告(分支可能已过时),并在继续操作前确认。CLOSED -
切换分支:执行。验证
gh pr checkout <N>的结果是否与git branch --show-current一致。headRefName -
反馈结果:提示已从分支切换至
<old>分支(对应PR #N)。返回原分支的命令:<headRefName>。git switch <old>