启用快进选项的git rebase

问题描述 投票:1回答:1

假设我有这样的情况:

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

使用以下方法将if合并:

git merge --no-ff

那么,现在我想rebase Branch1master

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

git git-merge git-rebase fast-forward
1个回答
1
投票

-pgit 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结合起来通常不是一个好主意
© www.soinside.com 2019 - 2024. All rights reserved.