如何使用 git 在两个文件之间创建 interdiff?

How to create interdiff between two file with git?

我们有两个补丁文件,patch-old.patch 和 patch-new.patch,我们想生成一个 interdiff 文件。我们该怎么做?

我们已经使用 Git Bash 尝试了以下操作,但结果是一个空的 interdiff.txt 文件。

git diff path/to/patch-old.patch path/to/patch-new.patch > interdiff.text

当我们执行以下操作时,它不会在 Git Bash

中显示任何内容
git diff path/to/patch-old.patch path/to/patch-new.patch

除了我之前的评论(旨在让你得到你想要的结果,而不仅仅是回答你的问题),如果你的两个文件 path/to/patch-<em>new |old</em>.patch 都在 Git 仓库中,而你在 Git 仓库中,你必须使用 git diff --no-index 来区分它们。即使未跟踪文件也是如此。

例如,在我的 Git 存储库中 Git:

$ git diff git-svn git-tag
$ git diff --no-index git-svn git-tag
diff --git a/git-svn b/git-tag
index 6145bf5e2..bbee2ad7a 100755
Binary files a/git-svn and b/git-tag differ