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添加該功能,但似乎作者還沒有發送上游。