【发布时间】:2019-07-05 06:51:47
【问题描述】:
我想知道这是否是一个 GitHub 错误,并想看看是否有其他人看到过这个问题。
我的 GitHub 存储库中有 master、dev 和 feature 分支。
流程通常如下所示:
master : A
dev : A
feature: A - B - C
然后我将feature 合并到dev 并删除feature 分支,但我不会压缩以保留所有提交历史:
master : A
dev : A - B - C
当我合并到 master 时,我会压缩合并以使其看起来更干净:
master : A - BC
\
dev : A - B - C
我知道此时 BC 更像是一个单独的提交,但 master 的代码 BC 和 dev 的代码 C 是相同的。
当我在上面的阶段比较master 和dev 时,我注意到一个奇怪的问题;当我尝试再次将dev 合并到master 时,我看到了很多冲突,反之亦然。
无论我是将dev 合并到master 还是将master 合并到dev,冲突都不会改变;例如,如果 dev -> master 代码差异为 -a and +b,当我尝试合并 master -> dev 时,我会看到相同的差异,而不是 -b and +a。
我们希望继续在 dev 分支上构建功能并保留其历史记录,因此无法删除它并基于 master 创建新分支。
我正在使用 GitHub 压缩和合并,因为其他成员需要批准更改才能合并到 master。
谁能解释我为什么会看到这个问题以及如何解决它?
【问题讨论】: