我有2个不同版本的应用程序的2个主分支。我想使用pull请求修复它们,但我想在其中只包括最后一次提交。其中一个分支有一些(~5)提交,而另一个分支没有,因为现在只支持其中一个。
我使用Atlassian的Stash。
答案 0 :(得分:0)
从您将合并到的主人创建一个新分支。 Cherry选择要合并到该分支的提交。然后打开该分支的拉取请求。
或者,您可以将提交从一个提取到另一个,而不是一个完整的拉取请求。
从这里开始,其中M1是您要合并的分支,e
是在两个分支中都需要修复的提交:
-M1
-M2-a-b-c-d-e
最简单的只是挑选修复:
$ git checkout M1
$ git cherry-pick e
这可以解决这个问题:
-M1-e'
-M2-a-b-c-d-e
如果您必须执行拉取请求,请尝试以下操作:
$ git checkout M1
$ git checkout -b M3
$ git cherry-pick e
那会让你这样:
-M1
\
M3-e'
-M2-a-b-c-d-e
...一旦你发出拉取请求并且它被合并 - 很可能是快进合并 - 你会回到这里:
-M1-e''
-M2-a-b-c-d-e