Git rebase trunk到主题

时间:2014-10-23 14:17:49

标签: git

查看我的Git树,我有这个(注意:Feature2从Feature1分支出来)

----b---c---d -"Feature1"
  \
   \--e---f---g -"Feature2"

我想将Feature1(b,c,d)重新绑定到Feature2上,以便读取e-f-g-b-c-d。当我运行rebase时,3路合并开始似乎有利于Feature2和b,c和d的变化似乎消失了。

如何在合并偏好Feature1的地方重新定位?

我遇到的典型rebase场景有一个看起来像这样的树(Note Feature1从Feature2分支出来):

--e---f---g -"Feature2"
\
 \--b---c---d -"Feature1"

然后它将干净利落地改变,因为Feature1历史上基于Feature2。但是我注意到我目前的情况Feature2从Feature1分支。

1 个答案:

答案 0 :(得分:1)

Git rebase使用合并将一个接一个的提交合并到要重新绑定的分支上。这意味着您也可以将所有available merge strategies用于rebase。默认合并策略为recursive,用于三向合并。它可以进一步定制;在你的情况下,应该支持要重新分支的分支。这对应于theirs选项(请记住,双方在rebase中切换):

git rebase -s recursive -X theirs Feature2 Feature1