Git diff numbers
diff --git a/numbers b/numbers
index 5f5fbe7..d184fef 100644
--- a/numbers
+++ b/numbers
@@ -1,3 +1,3 @@
-1
+4
+3
2
-3
数字3被重复,但顺序已更改。 是否有办法在git中忽略重新排序或任何grep解决方案? 我只想得到添加和删除数字的结果,而不是相同数字的重新排序。 可以帮忙吗?
差异对比工具通常使用Myers'差分算法。您无法控制GNU/git/diff的行为,但可以传递一些开关来影响其行为,但在您的情况下它们无关紧要。
您可以简单地后处理输出并删除重复行,例如可以通过以下awk脚本将您的差分流程,该脚本将删除(重复的)-/+重新排序。
git diff | awk '{ seen[substr($0,2)]++; l[i++] = $0; } END { for (j = 0; j < i; ++j) if (seen[substr(l[j],2)] < 2) print l[j] }'
diff --git a/numbers b/numbers
index 5f5fbe7..d184fef 100644
--- a/numbers
+++ b/numbers
@@ -1,3 +1,3 @@
-1
+4
2
最初的回答
diff -u <(sort ./numbers) <(git show HEAD^^:./numbers | sort)