当前位置: 首页 > 知识库问答 >
问题:

如何使用jGit做git log -L?

薄欣怿
2023-03-14

我想使用jGit找到特定行的提交历史。这可以在CLI中使用git log -L来完成,如何在jGit中做到这一点?

共有1个答案

司马念
2023-03-14

API显式列出了所有可用的标志,不幸的是,似乎没有实现行范围选项-L(此时)。git logjgitAPI灵活得多。

最好的办法是使用< code >。在< code >之前添加Path('/path/to/file')方法。调用()来缩小范围,然后使用< code>setPathFilter在文件的每对返回的提交之间调用< code>DiffCommand,最后您必须自己解析结果以查看您的特定行是否被触及。

 类似资料:
  • 我正在使用JGit的Class Repository用java编写我的程序。 此类具有方法解析(String recstr)。 基本上,这个方法解析git修订字符串并返回一个对象id。支持这些运算符的特定组合:< br > SHA-1:完整或简略的SHA-1参考文献/...:完整的引用名称< br >短名称:refs/heads、refs/tags或refs/remotes命名空间下的短引用名称<

  • 如何使用JGit获取源远程的URL? 我正在使用JGit,我想执行 那要怎么做?

  • 我使用 JGit 将本地磁盘上的存储库克隆为裸露。现在,我需要在任何给定的提交ID(SHA1)下读取文件的内容。我该怎么做?

  • 基于 angular-style 风格的更新日志生成器,效果演示: https://github.com/ymind/maven-semantic-gitlog/blob/master/CHANGELOG.md 主要特性: 基于 Semantic Versioning 的版本推断器 完全基于 Mustache 模板引擎 本地化支持(实例) 多模板多输出支持  

  • 我正在使用JGit克隆存储库,对文件进行一些更改,提交,标记它,然后将其推送到远程存储库。 我已经使用JGit编写了代码,它将克隆存储库,在文件中进行一些更改,然后提交更改,创建新标记,并推送提交和标记。 推送后,我希望远程存储库显示我的更改和新标签,但是在远程存储库中显示的是带有提交的更改,但是标签不可见。它显示“无标签”。

  • 我需要使用JGit获取与特定提交关联的分支的名称。我使用JGit获取存储库的提交SHA的完整列表,现在我需要知道它所属的分支的名称。 如果有人能让我知道我如何做到这一点,我将不胜感激。