git 通过合并提交变基
git rebase with merge commits
我正在尝试返回并压缩一些提交以清理我的历史记录。问题是我的历史记录中包含一些合并提交,因此即使我什么都不做,变基也会失败。
例如:
* 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
我想压缩 D
和 E
,但我希望提交 A 处的合并保持原样。但是,当我执行 git rebase -i E~1
(显然我需要 ~1
才能 pick
提交 E
?),即使我根本不做任何更改,它仍然因冲突而使 rebase 失败。提交 A
没有出现在编辑器中。
是否可以进行这种 rebase,在这种情况下,合并提交将按原样保留,无需任何额外输入?
您必须使用 --preserve-merges 才能在 rebase
中查看合并提交
git rebase -i --preserve-merges E~1
我正在尝试返回并压缩一些提交以清理我的历史记录。问题是我的历史记录中包含一些合并提交,因此即使我什么都不做,变基也会失败。
例如:
* 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
我想压缩 D
和 E
,但我希望提交 A 处的合并保持原样。但是,当我执行 git rebase -i E~1
(显然我需要 ~1
才能 pick
提交 E
?),即使我根本不做任何更改,它仍然因冲突而使 rebase 失败。提交 A
没有出现在编辑器中。
是否可以进行这种 rebase,在这种情况下,合并提交将按原样保留,无需任何额外输入?
您必须使用 --preserve-merges 才能在 rebase
中查看合并提交git rebase -i --preserve-merges E~1