2
我正在尝试使用git add --patch
,并且我注意到它的差异与使用opendiff
生成的差异不同。使用“git add --patch”和“filemerge”的差异输出之间的差异
- 这是常见的吗?有不同的差异算法吗?我只是坚果?
- 假设以上是“是”,是否有办法强制git使用opendiff算法?
我正在尝试使用git add --patch
,并且我注意到它的差异与使用opendiff
生成的差异不同。使用“git add --patch”和“filemerge”的差异输出之间的差异
确实有不同的差异算法。 (并且有很多可能的差异会导致文件完全相同的更改 - 这是它非常明智的原因之一,git不存储更改,它只存储每次提交时的树状态:))和
git diff
...:
例如,尝试在一些C代码移动功能和比较器的输出 -即使在git的,对于一些命令,你可以在两个不同的差异算法之间选择
git diff --patience
后者通常更具可读性,尽管速度慢呃计算。
我不确定opendiff使用什么算法,但它可能类似于patience diff?
不幸的是,我不认为目前在git中可以在git add -p
中使用不同的diff算法,尽管我会发现它也非常有用。有一个patch series here添加该功能,但似乎作者还没有发送上游。