我找不到任何例子证明 --patience
和普通策略有不同的结果。
根据 这个 答案,如果我有这个文件:
.foo1 {
margin: 0;
}
.bar {
margin: 0;
}
我是这样更新它的:
.bar {
margin: 0;
}
.foo1 {
margin: 0;
color: green;
}
根据我使用的算法,我应该能看到两个不同的差异。
但对我来说,这些命令的输出始终都是相同的。
git diff --diff-algorithm=patience
git diff
diff --git a/foo.bar b/foo.bar
index 453dcb1..42cd4b4 100644
--- a/foo.bar
+++ b/foo.bar
@@ -1,7 +1,8 @@
-.foo1 {
+.bar {
margin: 0;
}
-.bar {
+.foo1 {
margin: 0;
+ color: green;
}
\ No newline at end of file
我正在使用 git版本 2.14.2
minimal
会删除使Myers更快的快捷方式。在我看来,它在实践中并不是真正有用的(很少有情况下会导致更短的差异,而更短的差异并不真正“更好”)。histogram
类似于patience
,但它是加权的,而不仅仅是排除重复行。它倾向于匹配非重复行。在Git-2.12之前的实现中存在一个错误。理论上它应该是最好的差异,但我还没有在很多输入上尝试过它。 - torek