【问题标题】:how can I avoid weird git diffs like this?我怎样才能避免像这样奇怪的 git 差异?
【发布时间】:2015-10-08 13:57:05
【问题描述】:

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

【问题讨论】:

  • 空格有区别吗?
  • 没有。特别是在xml样式文件中,因为它们是由工具生成的。
  • Drat,我希望这对你来说很容易......

标签: git diff


【解决方案1】:

尝试另一种差异算法。我有很好的结果 耐心这种情况下的算法。

举例:

git diff --patience

来自git-diff 手册:

--耐心

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

--diff-algorithm={patience|minimal|histogram|myers}

选择一个差异算法。变种如下:

默认myers

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

最小

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

耐心

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

直方图

该算法将耐心算法扩展为“支持低出现的常见元素”。


相关:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-08
相关资源
最近更新 更多