【发布时间】:2015-04-11 00:12:21
【问题描述】:
假设我们有一个“master”分支,在 2 年内提交了 1000 次。我们有一个长期存在的功能分支“feature1”,大约 2 个月大(当时从 master 分支),有 100 次提交。我们继续在 master 和 feature1 上工作,偶尔将 master 合并到 feature1 中(大约 5 次提交,每 2 天),以防止它漂移太远。每次我们这样做时,都会发生特定的合并冲突,每次都是相同的(我手动解决)。为了完整起见,在此示例中它是一个 JavaScript 项目。
我的问题:为什么 git 不“记得”我第一次如何解决这个冲突并在后续合并中使用相同的解决方案?
可能有助于回答的可选皱纹:
我的直觉是,如果我从 master 创建一个新分支,然后将 feature1 合并到结果中(我们称之为“master+feature1”),那么从 master 到 master+feature1 的后续合并将停止发生相同的合并冲突。在实践中,我相信我已经看到了这一点,尽管我没有证据。证明或解释会很有趣,我相信它可以帮助解释我的主要问题的答案。
我对这个问题的 rebase 不感兴趣。 (假设 feature1 被推送到共享远程并且不希望重新设置基准。)
【问题讨论】:
标签: git version-control merge merge-conflict-resolution