带有merge提交的git rebase

时间:2018-02-05 14:27:59

标签: git merge rebase git-rebase

我正在努力回去并压制一些提交来清理我的历史。问题是我的历史记录中包含了一些合并提交,因此即使我什么都不做,rebase也会失败。

例如:

*   A merge branch 'branch' into 'master'
|\
| * B change to line 5 on 'branch'
* | C change to line 5 on 'master'
|/
*   D add a comment
*   E write some code

我想压缩DE,但我希望提交A处的合并保持完全相同。但是,当我执行git rebase -i E~1时(显然我需要~1才能pick提交E?),即使我根本不做任何更改,它仍然没有与冲突发生冲突。提交A未出现在编辑器中。

是否可以执行这种rebase,其中合并提交保留原样而没有任何额外输入?

1 个答案:

答案 0 :(得分:0)

您必须使用 - 保留合并来查看rebase中的合并提交

git rebase -i --preserve-merges E~1