2

我在一个分支上开发了一个功能。在开发过程中,我们转移到了不同​​的 git 主机,并且一些提交被合并到了新主机上。我现在正在尝试将其余部分合并回来,但遇到了问题。历史是这样的:

  B------E-----G             | feature branch
 /        \     \
A----C     \     \           | master
      \     \     \
       D-----F-----H         | new master

在 F 处,一个压缩的更改补丁 (B:E) 应用于新的主控,因此没有历史记录。我想进行 G->H 合并,但是这样做时会遇到冲突。

实现这种合并的最佳方式是什么,最好为 E 和 G 之间的新变化保留历史?

4

1 回答 1

0

简短的回答是:解决冲突。

如果E----G是一连串的提交,您可以尝试将它们一个接一个地合并F- 这应该给您一种方法来处理一次一勺的冲突。之后,您将有办法使用历史记录,最终在F.

根据您的描述:F是新主人之上功能分支的合并提交。历史并没有丢失:它是 和 的混合B--FC--F

这种合并可能产生了冲突,这些冲突在提交之前就已经解决了。E和之间的区别F是当您尝试合并G和时可能产生冲突的地方F

您可以通过以下方式查看这些差异:git diff E F

于 2013-05-24T12:36:47.160 回答