Java 如何知道哪些文件已被修改以修复从git提交开始的bug?

Java 如何知道哪些文件已被修改以修复从git提交开始的bug?,java,git,versioning,jgit,Java,Git,Versioning,Jgit,我正在从事一个Java项目,我需要了解哪些文件被修改以修复bug 我正在处理的项目的版本控制是通过Git管理的 到目前为止,我已经能够得到为修复bug而做出的承诺,但是从这一点开始,我如何才能获得已修改的文件 我可能必须在为修复bug而进行的提交和另一次提交之间运行diff,但这另一次提交是什么? 我可以从提交图中得到它吗?如果是,怎么做 所有这些都必须在Java中完成。。。要与GitHub进行交互,我使用的是jgit库。您可以使用git diff和--name only标记来比较两个提交,以检

我正在从事一个Java项目,我需要了解哪些文件被修改以修复bug

我正在处理的项目的版本控制是通过Git管理的

到目前为止,我已经能够得到为修复bug而做出的承诺,但是从这一点开始,我如何才能获得已修改的文件

我可能必须在为修复bug而进行的提交和另一次提交之间运行
diff
,但这另一次提交是什么? 我可以从提交图中得到它吗?如果是,怎么做


所有这些都必须在Java中完成。。。要与GitHub进行交互,我使用的是
jgit
库。

您可以使用
git diff
--name only
标记来比较两个提交,以检查它们之间的更改

例如,如果要比较最近5次提交中的更改,可以通过执行以下操作使用HEAD reference:

git diff——仅名称HEAD~5

其中第一个提交引用是最新的

如果要将特定提交中更改的文件与头提交进行比较,可以执行以下操作:

git diff——仅名称头8614c3d70397f03ab504de8d23e8255d52fa3ed1

其中,8614c3d70397f03ab504de8d23e8255d52fa3ed1是示例中的提交哈希

专门针对您的应用程序 由于要检查在一次特定提交中更改的文件,因此可以使用相同的逻辑执行以下操作:

git diff——仅名称提交\u散列提交\u散列~1

因此,如果bugfix提交的哈希值
8614c3d70397f03ab504de8d23e8255d52fa3ed1
,您可以通过执行以下操作检查此提交中更改的文件:


git diff——仅命名8614c3d70397f03ab504de8d23e8255d52fa3ed1 8614c3d70397f03ab504de8d23e8255d52fa3ed1~1

查看您可以执行的修订中修改的文件

git show --name-status some-revision
您还可以指定
--仅名称
,而不是
--名称状态


git diff
也可以使用,但它主要用于范围,因为如果您想使用diff并仅提供一个修订作为参数,那么您最终会与当前工作树进行比较,因此您必须传入两个参数,就像您的情况一样,您想检查由单个修订版修改的文件。

所有这些都必须用Java完成为什么?您读过这些帖子吗?他们似乎回答了这个问题:,