查看我的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分支。
答案 0 :(得分:1)
Git rebase使用合并将一个接一个的提交合并到要重新绑定的分支上。这意味着您也可以将所有available merge strategies用于rebase。默认合并策略为recursive
,用于三向合并。它可以进一步定制;在你的情况下,应该支持要重新分支的分支。这对应于theirs
选项(请记住,双方在rebase中切换):
git rebase -s recursive -X theirs Feature2 Feature1