SuperAPI AI 工具集

git-upstream-pr

通用与其它

查看项目

更新于 10-15 23:49

技能介绍

用途:从 fork 向上游仓库提交干净、原子化的 PR,适合向上游贡献改动,或挑选(cherry-pick)fork 中的提交用于上游 PR。若只是提交到自己的 fork 用 /git:commit,同仓库内建 PR 用 /git:pr;若 fork 与上游已大幅分叉,应改用 /git:upstream-pr-diverged。

主要能力:验证 fork 环境并检测/添加 upstream 远程;评估 fork 与上游的分叉情况;按 SHA 或交互方式选择提交;基于 upstream/main 创建干净分支;cherry-pick 并压缩为单个原子提交;推送到 fork;通过 gh 创建跨 fork PR(支持 --draft);最后恢复原分支与暂存改动。

参数:--commits(逗号分隔 SHA,省略则交互选择)、--branch(PR 分支名,省略则自动生成)、--upstream(覆盖上游仓库)、--draft、--dry-run。

用法要点:执行 git fetch upstream;用 git log --oneline --format='%h %s (%cr)' upstream/main..HEAD 查看领先提交;git switch -c <branch-name> upstream/main 建分支;git cherry-pick <sha1> <sha2> ... 后 git reset --soft upstream/main 与 git commit 压缩;git push -u origin <branch-name>;再用 gh pr create --repo <upstream-owner/upstream-repo> --base main --head <fork-owner>:<branch-name> 创建 PR。

限制与错误处理:cherry-pick 冲突需参考 git-conflicts 解决后 git cherry-pick --continue;推送被拒时检查分支是否已存在,可用 --branch 覆盖;无 upstream 远程时自动检测或询问;找不到 upstream/main 时尝试 upstream/master 或询问;无领先提交则报告无可贡献内容并退出。相关技能包括 git-fork-workflow、git-branch-pr-workflow、git-conflicts、git-rebase-patterns、gh-cli-agentic。