gpb*_*lio 1 git github git-pull git-commit
我知道这个改变分支基础的技巧,但它不起作用,来自这个问题:GitHub pull request displayed commits that are already in targetbranch
就我而言,在切换到分支之前,我会从我工作的其他分支获取提交。我该如何解决?
一种相对简单的解决方案是从(或您想要合并到的分支)创建一个完整的新分支master,然后从旧分支中一一挑选您想要包含在 PR 中的提交。然后需要使用原来的分支名称强制推送到github。
git checkout -b new_attempt origin/master
git cherry-pick <commit1>
git cherry-pick <commit2>
...
git push --force origin new_attempt:mybranch
Run Code Online (Sandbox Code Playgroud)
其中mybranch是您用于此 PR 的分支的名称。
如果提交太多,您可以尝试使用--onto选项进行变基。
git rebase --onto origin/master <base_commit> mybranch
git push --force origin mybranch
Run Code Online (Sandbox Code Playgroud)
其中 是<base_commit>您要从 PR 中排除的最后一次提交。变基可能有点棘手,因此请进行备份并阅读git-rebase 文档