启用快进选项的 git 变基



假设我遇到这样的情况:

a -- b -----------------c -- d -- e   <-- Master

f ------------l                <-- Branch1
           /
g -- h -- i                  <-- Branch2

其中i通过以下方式与f合并

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

在网上查看(包括堆栈溢出),我找不到任何有用的信息。

解决方案

git rebase-p选项旨在解决此问题。

这应该有效:

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相结合通常不是一个好主意

相关内容

  • 没有找到相关文章

最新更新