假设我有这样的情况:
a -- b -----------------c -- d -- e <-- Master
\
f ------------l <-- Branch1
\ /
g -- h -- i <-- Branch2
使用以下方法将i
与f
合并:
git merge --no-ff
那么,现在我想rebase
Branch1
到master
。
如果我使用git rebase master Branch1
,结果是:
a -- b -- c -- d -- e <-- Master
\
f -- g -- h -- i <-- Branch1
它刚刚合并忽略了我以前的--no-ff
。
题:
有没有像git rebase --no_ff ...
这样的指令?
我想要实现的是:
a -- b -- c -- d -- e <-- Master
\
f ------------l <-- Branch1
\ /
g -- h -- i <-- Branch2
在网上看(包括stackoverflow)我无法找到任何有用的信息。
解
-p
的git rebase
选项旨在解决这个问题。
这应该工作:
git rebase -p master Branch1
来自git rebase -h
:
-p, --preserve-merges
try to recreate merges instead of ignoring them
注意事项
感谢@andreee指出这些问题,记录在git rebase --help
中:
--preserve-merges
与--interactive
结合起来通常不是一个好主意