我目前在github上与master
进行了upstream
同步,还有一个工作分支,我们可以调用working
。 working
在master
之前提交1次,上游打开拉取请求。
我希望继续处理相同的文件,基于我提交的更改,但计划不将这些文件附加到当前的PR,而是在提交更改之前等待上游合并。
如果你有一个这种状态的回购,那么在进行更多修改之前你会做什么分支,合并等,希望尽可能让下一个上游的rebase尽可能无痛?
答案 0 :(得分:2)
在您的分支上工作(可能会创建一个新的分支以减少可能的混淆),并且一旦PR合并,就将您的工作重新定位到更新的master
分支。
如果您确信PR(我假设反对master
)将被接受,您可以执行以下操作:
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'
$ git checkout -b future-master
Switched to new branch 'future-master'
$ git merge working
这会导致future-master
具有与PR之后相同的状态。
继续工作(也许可以创建一个新的分支以减少混淆),一旦PR合并,你就可以重新开始工作:
$ git fetch origin
$ git rebase origin/master
合并冲突的数量应该是最小的(在大多数情况下为零)
旁注:如果您的working
分支实际上只提前1次提交。我不认为选项A 比更简单的选项B 更好。
对于更复杂的情况,它可能会有所帮助。的因人而异强>