0

我有一个已经合并(in M)但之后又恢复(in R)的功能分支:

S---o-o-----M-o-R-o
 \         /
  A-----B-C       ^ master

          ^ feature

我想将feature分支重新定位到当前分支,master所以我得到:

S---o-o-----M-o-R-o-A'-B'-C'
 \         /
  A-----B-C               ^ new master or new branch
                  ^ old master
          ^ feature

这类似于revert-a-faulty-merge.txt附录中描述的过程,但不是将新分支基于我想基于当前的.Smaster

根据这个问题,这个解决方案应该有效:

git rebase --onto stable D fix/123
这仍然有点冒险,因为您需要采用 D 的 SHA(例如,而不是 X)。

所以我尝试git rebase --no-ff --onto master S feature了,但它只是将feature标签提升到master标签并说“掌握快速转发功能”而没有生成任何新的提交。

那么我怎样才能基本上将整个feature分支复制到master之上呢?

4

1 回答 1

4

git cherry-pick现在支持一系列提交,如下所示:

git cherry-pick S..C

这将在 S 到 C之后获得提交。您还可以指定从 A 的级开始,如下所示:

git cherry-pick A^..C
于 2013-06-07T13:27:14.863 回答