我想查看 Git 中同一次提交的两个版本之间的差异。基本上是差异的 diff。根据我目前所了解的,这被称为“interdiff”。我已经阅读了几篇有关如何创建 git 补丁的 interdiff 的教程,但我无法在我的特定情况下使这些方法起作用。
所以这就是设置过程。我有两个分支分叉,每个都有略微不同的提交:
* 29e734f - (origin/feature_branch, new_commits) New commit 3 (69 minutes ago) <Ajedi32>
* b22ebea - New commit 2 (89 minutes ago) <Ajedi32>
* 09d42c2 - New commit 1 (2 hours ago) <Ajedi32>
| * 467e08f - (old_commits) Old commit 3 (4 weeks ago) <Ajedi32>
| * f2bf1cb - Old commit 2 (4 weeks ago) <Ajedi32>
| * 34a2187 - Old commit 1 (4 weeks ago) <Ajedi32>
|/
* 1b05a4a - (origin/base, base) Base commit (5 weeks ago) <Ajedi32>
在这个例子中,我想要找到“旧提交3”和“新提交3”之间的差异。我尝试从这两个提交创建一个补丁文件,并通过interdiff
实用程序运行它们,但是我得到的只有这个:1 out of 2 hunks FAILED -- saving rejects to file /tmp/interdiff-1.Kgwx8u.rej
interdiff: Error applying patch1 to reconstructed file
我不太确定那是什么意思,所以现在有点卡住了。我接下来该怎么办?
注:我不希望在这里使用git diff old_commits new_commits
。我不希望输出包括提交1和2的修订。
diff "old_commit_3".."new_commit_3"
有何不同? - mnagelgit diff old_commits new_commits
。我不希望输出包括提交1和2的修订。”因此,如果“旧提交1”和“新提交1”之间存在一些小差异,我不希望包括这些更改。我正在比较补丁,而不是存储库的状态。 - Ajedi32