Git diff与diff-tree不同。如何在jgit中做比较树?

时间:2019-01-15 19:48:43

标签: git bitbucket jgit

我正在使用JGit评估提交ID之间的受影响文件。我设置的代码与jgit cookbook一致。

https://github.com/centic9/jgit-cookbook/blob/master/src/main/java/org/dstadler/jgit/porcelain/DiffFilesInCommit.java

我基本上使用git log查找我感兴趣的提交ID和紧接在前的提交ID。然后,我将其填充到代码示例中。

问题在于,此提交返回了很多未触及或未添加的文件,这些文件应该只有2个。

如果我运行git diff HASH1 HASH2,则得到的大量相同文件的结果不会被触及。

相反,在运行git diff-tree -r HASH1时,我得到的正是我感兴趣的2个文件。

我误会了吗? git diff和diff-tree有何不同?如何使用jgit复制git diff-tree的行为?

1 个答案:

答案 0 :(得分:0)

好的,我刚刚回答了。

与其从历史记录中查找上一个提交ID,不如前一个提交ID应该是我感兴趣的后缀〜1。

git diff HASH1 HASH1~1