用途:在 jackin❯ 仓库中切换到指定 PR 的分支,底层使用 GitHub CLI 的 gh pr checkout。仅在用户明确请求时使用。
输入:接受 PR 编号、PR 的 URL 或分支名。
主要流程:先把输入解析为 PR 编号——编号或 URL 直接传给 gh pr checkout;若是分支名,则用 gh pr list --head <branch> --state all --json number -q '.[0].number' 查找,若找不到则停止,不回退到原始 git checkout。随后检查工作区:执行 git status --porcelain,若有未提交改动则停止,要求操作者先提交、暂存或丢弃,绝不自动 stash;同时记录当前分支 git branch --show-current 以便返回。接着确认 PR 状态:gh pr view <N> --json state,headRefName,若为 MERGED 或 CLOSED,会提示分支可能已过期,需确认后再继续。然后执行 gh pr checkout <N>,并用 git branch --show-current 验证是否与 headRefName 一致。最后报告:已从 <old> 切换到 <headRefName>(PR #N),返回方式为 git switch <old>。
适用场景:需要审查或处理某个 PR 的代码、在本地检出对应分支时。
限制:依赖 GitHub CLI(gh)和已有仓库;遇到脏工作区或已合并/关闭的 PR 不会自动继续,需要人工决定;未提供关于费用、平台支持范围或更多配置项的信息。