用途:当某个 PR 与其基础分支存在合并冲突时,使用该技能更新 PR 自身分支以对齐当前基础分支。它不授权合并 PR,也不授权把 PR 改指向其他基础分支。
主要能力与流程:先用 gh pr view <n> -R <owner/repo> --json state,headRefName,headRefOid,baseRefName,mergeable,isCrossRepository,maintainerCanModify 确认 PR 处于打开状态,并记录 head SHA 与基础分支。在临时 worktree 中操作,保留本地已有改动。从各自实际仓库获取 PR head 与 base,记录 base 顶端。更新 PR 分支前确认 fork 权限与目标 remote。按仓库指引选择 merge 或 rebase 到获取的 base。
权限与安全限制:重写不属于自己的分支前需获得明确批准,除非本次会话已获授权;每次重写都要披露。授权重写时使用显式的 --force-with-lease=<branch>:<recorded-head-sha>。若其他贡献者移动了 PR head,应停止并与所有者协调。绝不推送到基础分支。
冲突解决与验证:解决冲突块前先阅读冲突指引,保留双方改动的意图,即使 Git 能干净合并也要检查语义冲突;若解决需要产品决策则询问。完成 merge 或 rebase 后,在合并后的代码树上运行仓库相关的 build、format、lint 和测试。推送前重新检查远端 head 与 base;若 base 已移动,重新检查冲突并应用仓库的新鲜度要求,保留并发的 head 改动并验证任何变更结果。在用户授权范围内推送已验证的更新到 PR 分支,推送后重新读取 PR head 与可合并性。保留完成的工作后移除临时 worktree。最后报告已解决的冲突、任何重写、运行的检查以及剩余阻塞项,并返回调用工作流以进行 CI 监视或授权合并。
适用场景:PR 与基础分支冲突、babysitting 或合并流程中发现冲突时。限制:不负责合并 PR、不改换基础分支;涉及产品决策的冲突需人工确认;重写他人分支需授权。