Git为简单的更改提供合并冲突

时间:2017-02-17 22:09:12

标签: git

我有一个示例test.txt就是这一行 one two three four five six seven eight nine ten

现在我有以下提交(所有都是一个字改变)

  • 提交1:eleven two three four five six seven eight nine ten
  • 提交2:eleven twelve three four five six seven eight nine ten
  • 提交3:eleven twelve thirteen four five six seven eight nine ten
  • 提交4:..
  • 提交5:..
  • ...

虽然提交是相同的,但差异很明显,每个差异只是将单个单词替换为另一个单词。

现在这里的问题是每次git在几乎所有的合并或者挑选中都会引起冲突,你很容易解决它。

是否有一个git插件来解决这个场景或者尝试不同的合并算法?

我正在编写一个图书编辑项目,并使用Gi​​t将人们的更改作为提交进行协作。

1 个答案:

答案 0 :(得分:-1)

你在问题​​中提到樱桃挑选,这让我怀疑这可能是问题的原因。

在git中你挑选一个改变git创建一个与原始相同的全新提交(除了它不是原始的并且具有不同的哈希)Git然后基本上将其视为“不同”的更改。

现在如果这两个相同的“变化”后来合并在一起,git经常会把这看作是一个冲突(特别是如果它们出现在同一条线上)当你看到它时并不是真正的冲突,而是从git的角度来看查看它看到两个更改,修改来自两个不同的提交和/或提交历史记录的同一行。

这是避免采摘樱桃的主要原因之一。

我建议,将所有优秀的分支机构合并在一起,解决任何冲突,并在不使用樱桃挑选的情况下继续前进。

在不知道具体用例是什么的情况下,通常情况是使用樱桃采摘的合并策略可以通过使用大量较小的单个主题分支来替换。