事实上,我所要求的是所谓的 的 cherry picking 强> 提交。 但是,由于我自己的提交历史不同 浅 回购 B 和原始提交 Y 在 C ,它可能不可能(?) 看 像一个 “合适的合并拉取请求” ,至少不是GitHubs意义上的 Network 显示的图表。 <子> 的 (如果有人为此提供了另一种解决方案,请发表评论。) 强> 子>
cherry picking
B
Y
C
Network
该程序已经有详细记录,在这种情况下,最简单的解决方案是:
git fetch git@github.com:<USERNAME>/<REPO-C> <BRANCH-Z> --no-tags git cherry-pick <commit-Y> git push origin master
这是迄今为止最简单的方法,因为它不需要添加/更改提取源。
<id>
您也可以直接使用PR来拉PR ID :
git pull https://github.com/{upstream/project} refs/pull/{id}/head
有关其他选项,请参阅:
这就是我做到的。
从本地仓库中提取所有必需的更改: git pull 。
git pull
改变 起源 网址: git remote set-url origin https://url.com 。
git remote set-url origin https://url.com
切换你想要将代码推送到的分支: git checkout BRANCH 要么 git checkout -b BRANCH (我总是对此感到困惑)。
git checkout BRANCH
git checkout -b BRANCH
(可选)设置上游: git branch --set-upstream-to=origin/BRANCH
git branch --set-upstream-to=origin/BRANCH
藏: git stash
git stash
提交更改: git commit -m "feat: moving branch"
git commit -m "feat: moving branch"
最后推动一切: git push
git push
希望这可以帮助。如果您发现任何问题,请告诉我。