为什么邪恶合并被认为是有害的?

Why are evil merges considered harmful?

问题 Evil merges in git? 有几个答案描述了什么是恶意合并,但其中一个 (Jakub Narębski) 最多只是解决了它们可能导致的问题,以及为什么应该避免它们.

理想情况下,通过描述具体的实际问题,初学者很容易理解(例如,“git log -p 信息量较少”),创建恶意合并有哪些缺点?

我可以看到几个问题:

  • 如果使用功能分支,邪恶的合并是对流程的明显破坏。新代码在没有首先提交到功能分支的情况下突然出现(因此可能绕过代码审查)。
  • 人们根本不希望合并引入不相关的代码。
  • 在对恶意合并进行比较时,很难将与解决冲突相关的更改与引入不相关代码的更改区分开来。
  • 樱桃采摘几乎不可能。