将PR重新基础到主节点上的单个提交

时间:2018-10-08 21:01:09

标签: git github commit rebase pull-request

我是Git和GitHub的新手。我创建了一个回购的PR,此后我在PR中做了一些编辑。 “此PR中的6个提交中有5个是合并的提交或修正的提交。您能否将此PR重新设置为基于主提交的单个提交?” 回购维护者要求我执行此操作,但是我真的不知道如何将PR中的所有6个提交都转换为在主服务器上的单个提交,“在主服务器上提交”的含义是什么? ?

1 个答案:

答案 0 :(得分:1)

我不知道有关您如何布置工作历史的详细信息,但是,假设您开始的分支与您的分支之间的差异是您需要提交的工作,仅此而已,要做的是:我将找出您的分支机构和“主”都共享的最后一个修订版,然后我将创建一个单一的修订版,其中包含从那时起的所有差异。调整以方便使用:

git checkout my-branch
git merge-base my-branch origin/master # this will output a revision ID
git reset --soft the-id-provided-before # set branch pointer on that revision
git commit -m "This is my work in a single revision"
git push whatever-repo my-branch

然后,您可以在“清理”并创建单个修订版之后从该修订版创建PR。

展望未来,如果您打算与他人共享工作,我会告诉您学习如何使用rebase和cherry-pick避免合并。