【发布时间】:2012-08-08 11:44:08
【问题描述】:
git pull --rebase 删除未推送的合并提交。有没有办法让它保存它们?
说我的历史看起来像——
A
| \
B H
| |
C G
| |
D F
| /
E
(A 是合并提交。)
在git pull --rebase 之后变成——
H
|
G
|
F
|
X
|
B
|
C
|
D
|
E
(X 是新的提交 git pull --rebase 插入到我的历史记录中。)—A 被删除。
我知道您可以使用git rebase --preserve-merges 来使用git rebase 来保存它们,但我看不到使用git pull --rebase 来保存它们的方法。
【问题讨论】:
-
您的意思是要保留修订图的结构? (否则,我不确定
A应该是什么。) -
是的—
A只是合并提交,“将分支 foo 合并到 bar” -
git 1.8.5 将引入一种简洁的方法来保留
pull --rebase上的合并:请参阅 my answer below -
我不明白,为什么这会重新定位本地历史,即使根本没有远程更改,也就是我已经拥有了一切,但想确定一下。想法?
标签: git version-control