我在分支上开发了一个功能。在开发过程中,我们转移到另一个git主机,并将一些提交合并到新主机上。我现在正试图将其余部分合并,并遇到问题。历史看起来像这样:
B------E-----G | feature branch
/ \ \
A----C \ \ | master
\ \ \
D-----F-----H | new master
在F,一个被压缩的变化(B:E)应用于新的主人,所以没有历史。我想让G-> H合并,但是当我这样做时会遇到冲突。
实现此合并的最佳方式是什么,理想情况下保留E和G之间新变化的历史记录?
答案 0 :(得分:0)
简短的回答是:解决冲突。
如果E----G
是一系列提交,您可以尝试在F
之上逐个合并它们 - 这应该可以让您一次一勺地处理冲突。之后,您将有办法使用历史记录,最终在F
之上进行一次合并提交。
根据您的描述:F
是新主服务器上功能分支的合并提交。历史记录不会丢失:它是B--F
和C--F
的混合。
这种合并可能产生了冲突,这些冲突在评估之前就已经解决了。当您尝试合并E
和F
时,G
和F
之间的差异会产生冲突。
您可以看到这些差异:git diff E F