在进行git合并时,策略选项标志应该用于什么情况? (耐心|最小|直方图|迈尔斯)

时间:2014-05-23 12:56:23

标签: git merge git-merge

我希望获得高质量的差异,我不担心需要多长时间,例如

git merge --strategy-option=diff-algorithm=minimal develop

From the docs,不清楚哪种情况最适合哪种情况?

  
      
  • 默认,myers 基本的贪心差异算法。目前,这是   默认值。

  •   
  • minimal 花些额外的时间来确保最小的差异   产生

  •   
  • 耐心生成修补程序时使用“耐心差异”算法。

  •   
  • 直方图此算法将耐心算法扩展为“支持”   低发生的共同元素“。

  •   

summary of the patience algorithm in another answer

  • 直方图算法是否总是比耐心算法更好,因为它扩展了它?
  • 最小算法是否优于默认算法,因为它'花费额外时间'?
  • --strategy-option=patience--strategy-option=diff-algorithm=patience是否相同?

1 个答案:

答案 0 :(得分:1)

你应该总是使用直方图而不用担心它。绝大多数情况下,所有算法都会给出完全相同的结果,但很快就会有一个XML文件或一个经过大量编辑的C文件,其中包含许多大括号,其中myers和minimal将合并无意义的重复部分文件并且在冲突部分的任何一侧都有完全破碎且无法使用的输出以及不相关的代码段。耐心和直方图都能很好地处理这些情况,但直方图运行得更快。由于直方图是最好和最快的算法,因此没有其他理由可以使用。