git pull --rebase删除未压缩的合并提交.有没有办法让它保存起来?
说我的历史看起来像 -
A
| \
B H
| |
C G
| |
D F
| /
E
Run Code Online (Sandbox Code Playgroud)
(A作为合并提交.)
在git pull --rebase它成为 -
H
|
G
|
F
|
X
|
B
|
C
|
D
|
E
Run Code Online (Sandbox Code Playgroud)
(X作为git pull --rebase我的历史中插入的新提交.) - A被删除.
我知道你可以使用它git rebase --preserve-merges来保存它们git rebase,但是我没有看到用它来保存它们的方法git pull --rebase.
我有一个看起来像这样的主题分支。(分支主题当前指向'a0a0')
如何将 a0-f5 变成单个合并提交?
我试过:git rebase -i f5f5打算将它告诉那squash5 个提交,但它只是在 f5f5 和 a0a0 之间的主分支上提供了每个提交。因此,我将除第一个和最后一个之外的所有内容从pick变为squash,但是这太疯狂了,并且将 master 的每个提交重新定位为一个巨大的提交,以代替所有合并,从而失去了它是“合并”的事实。那不是我所期望的!
我可以:
$ git reset 6666
$ git merge Master
Run Code Online (Sandbox Code Playgroud)
但这需要我重新做任何合并提交。
那么我如何将这些不同的合并压缩成一个合并提交,知道这是一个合并,并且还保留所有合并冲突的东西?