用途:将 master 上的某个提交回移到发布分支。参数格式为 <commit-sha> <target-branch>,第一个是提交 SHA,第二个是目标分支。
主要能力与流程:先记录当前分支 ORIGINAL_BRANCH,执行 git fetch origin,用 git rev-parse --verify 校验提交与 origin/<TARGET_BRANCH> 是否存在,并检查工作区是否干净。随后用 git show --stat 展示提交摘要,从 remote 推导 GitHub 提交链接与 PR 链接。接着创建 backport/<SHORT_SHA>-to-<TARGET_BRANCH> 分支,基于 origin/<TARGET_BRANCH>。
应用补丁时只应用源码文件,排除 **/package.json 与 **/CHANGELOG.md 等版本文件,使用 git show <COMMIT_SHA> -- <files> | git apply --index,禁止用 git checkout <sha> -- <file>。成功后提交并提醒用户自行完成版本号与 changelog,运行 GITHUB_BASE_REF=origin/<TARGET_BRANCH> yarn nx release plan,确认后再 git push -u origin 分支并用 gh pr create 创建 PR。
限制:补丁冲突时不自动解决,只做诊断(merge-base、三方对比、判断删除/重构/并行修改/重命名/API 变更等原因)并返回原分支报告。若 backport 分支已存在则停止,不覆盖。gh 未认证时输出手动 PR 链接与标题正文。所有检查使用远程引用,不本地检出源提交或目标分支。