如何使用 JGit 显示提交文件(git show --name-only)

How to show the files of a commit (git show --name-only) using JGit

我想要与以下命令相同的输出

git show --pretty="format:" --name-only <commitid>

通过使用 JGit

有人可以帮助我了解如何进行的分步程序吗?

您可以使用 RevWalk 获取相关提交的 ,然后使用 TreeWalk 遍历该提交中包含的文件.

Repository repo = git.getRepository();
ObjectId commitId = repo.resolve( "<id of commit>" );
RevWalk revWalk = new RevWalk( repo );
RevCommit commit = revWalk.parseCommit( commitId );
RevTree tree= commit.getTree();
TreeWalk treeWalk = new TreeWalk( repo );
treeWalk.addTree( tree );
treeWalk.setRecursive( true );
while( treeWalk.next() ) {
  System.out.println( treeWalk.getPathString() );
}
revWalk.release();
treeWalk.release();