2011-06-03 102 views

回答

2

确实有不同的差异算法。 (并且有很多可能的差异会导致文件完全相同的更改 - 这是它非常明智的原因之一,git不存储更改,它只存储每次提交时的树状态:))和

git diff 

...:

例如,尝试在一些C代码移动功能和比较器的输出 -

即使在git的,对于一些命令,你可以在两个不同的差异算法之间选择

git diff --patience 

后者通常更具可读性,尽管速度慢呃计算。

我不确定opendiff使用什么算法,但它可能类似于patience diff

不幸的是,我不认为目前在git中可以在git add -p中使用不同的diff算法,尽管我会发现它也非常有用。有一个patch series here添加该功能,但似乎作者还没有发送上游。