【发布时间】:2020-02-25 09:08:26
【问题描述】:
我通常完全接受 git 中的合并,但我最近开始研究一个存储库,其中将主题分支合并到主分支的策略是将它们压缩为单个提交。
我刚刚发现,在尝试重新集成基于第一个主题分支的第二个主题分支时,这会导致完全混乱。
假设我有:
A-I' master
\
B-C-E-G-I topicA
\ \
D-F-H-J topicB
其中I' 是从topicA 到master 的压缩合并。
如果我将master 合并到topicB 中,那么会有很多冲突。使用合并工具是没有用的,因为 LOCAL 将包含来自 ABCDEFGHJ 的更改,REMOTE 将是 ABCEGI 而 BASE 是 A。尝试查看 I 与 DFHJ 的差异可能非常困难。如果我放弃合并工具,只区分 LOCAL 和 REMOTE,那么更改会更加明显,但我必须手动解决所有冲突。
如果我将topicB 重新设置为master,那么它会变得更加奇怪,因为B 和I 之间的各种文件在topicA 上发生了变化,因此将ABCDFJ 重新应用到I' 会产生废话。
如何将I' 转换为topicB?
有没有更好的方法来整合主题分支,将来可以避免这种情况?
【问题讨论】: