我怎么能避免像这样奇怪的git差异?

时间:2015-10-08 13:57:05

标签: git diff

我有时会编辑类似xml的文件,例如plist s或xib s,有时会得到像this one这样的差异。 它不是以<dict>开头并以</dict>结尾的差异,而是以+2行开始和结束。有时使用Objective-C代码也会发生这种情况。我会在case中添加一个新的switch,差异不会从case下降到break,但它会再次有一到两行的偏移量。
我知道发生这种情况是因为上一行和下一行基本相同,但有没有办法可以避免这种情况,解决这个问题,或者以某种方式改变它的行为? 感谢。

1 个答案:

答案 0 :(得分:3)

尝试另一种差异算法。我的成绩很好 在这种情况下耐心算法。

使用例如:

git diff --patience

来自git-diff手册:

  

<强> - 耐性

     

使用“耐心差异”算法生成差异。

     

<强> - DIFF-算法= {耐性|最小|直方图|迈尔斯}

     

选择差异算法。变体如下:

     

默认 myers

     

基本的贪婪差异算法。目前,这是默认设置。

     

最小

     

花些额外的时间来确保产生尽可能小的差异。

     

耐性

     

生成补丁时使用“耐心差异”算法。

     

直方图

     

该算法将耐心算法扩展为“支持低发生的共同元素”。

相关: