繁体   English   中英

查找从 Java 更改给定目录的所有提交

[英]Find all commits that changed a given directory from Java

我写了一个Java的程序,我用的是jgit。 在这个 Java 程序中,我想列出某个 git 存储库g的所有提交,这些提交至少更改了目录x中的一个文件。

我不想“在命令行上”解决问题,而是在 Java 内解决。

在 JGit 的高级 API 中,您可以使用Git.log()和“addPath”来获取相关提交的简单列表。

   logs = git.log()
            .addPath("pom.xml")
            .call();

请参阅jgit-cookbook中的此片段以获取可立即运行的示例。

通常,入门级Git上的方法提供与常规 git 命令类似的功能。


对于提供更细粒度控制/结果的低级 API,您可以将Git.diff()与“newTree”和“oldTree”以及“pathFilter”一起使用。 这些树是通过RevWalkCanonicalTreeParser构建的

ShowFileDiff.javajgit-cookbook中有此方法的相关片段

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM