启用快速转发选项的git rebase

时间:2019-04-12 13:16:25

标签: git git-merge git-rebase fast-forward

假设我遇到这样的情况:

a -- b -----------------c -- d -- e   <-- Master
      \
       f ------------l                <-- Branch1
        \           /
         g -- h -- i                  <-- Branch2

通过以下方式将if合并在一起的地方:

git merge --no-ff

好吧,现在我想将rebaseBranch1master

如果我使用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),我找不到任何有用的信息。

1 个答案:

答案 0 :(得分:1)

解决方案

-p的{​​{1}}选项旨在解决此问题。

这应该有效:

git rebase

来自git rebase -p master Branch1

git rebase -h

注意事项

感谢@andreee指出-p, --preserve-merges try to recreate merges instead of ignoring them 中记录的这些问题:

  • 合并冲突解决方案或合并提交的手动修订未保留。
  • git rebase --help--preserve-merges结合通常不是一个好主意