git diff --no-index 但有多个文件

Ale*_*lec 5 diff git command-line difftool

我真的很喜欢 git diff 的输出格式,我git diff --no-index经常使用它来比较任意的非 git 相关文件。但据我所知,在使用 --no-index 时,您只能提供一对文件。我真的很希望能够将它传递多对,例如:

git diff --no-index a.new a.old b.new b.old
Run Code Online (Sandbox Code Playgroud)

并通过git diff在 repo 中运行获得那种输出:

diff --git a/a b/a
index e965047..ce01362 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-Hello
+hello
diff --git a/b b/b
index 2b60207..dd7e1c6 100644
--- a/b
+++ b/b
@@ -1 +1 @@
-Goodbye
+goodbye
Run Code Online (Sandbox Code Playgroud)

有没有办法用 git diff 或类似的工具来做到这一点?

Jaa*_*ing 4

由于git diff --no-index还接受两个目录并比较它们,因此您始终可以围绕它编写一个包装器脚本,将文件复制到两个临时目录中。

除此之外,我不知道有哪个比较工具可以接受多对文件进行比较。甚至diff只接受一对文件,或者一个目录和一个文件列表。