java - 使用 JGit 获取一系列修订的日志

标签 java git jgit

我正在执行

git log origin/<branch>..HEAD

在 cmd 中并获取有关提交的以下信息,但尚未推送到 git。

error: cannot spawn less: No such file or directory

commit 436ab1eca3dfxxxxxxxxx569427f51badf2

Author: Chawla, Anukriti Date: Fri May 11 13:38:37 2018> +0530

Committed on : Fri May 11 13:38:37 IST 2018

我想要 JGit 中的等效项,并尝试了以下方法,但没有成功:

for (RevCommit commit :git.log().add(git.getRepository().
  resolve("origin/<branch>..HEAD")).call()) {
  System.out.println(commit.getName());
}

最佳答案

分支是否被推送不会影响LogCommand。您正在寻找的可能是 LogCommand::addRange 来获取一系列提交的日志。

例如:

ObjectId since = git.getRepository().resolve("refs/remotes/origin/some-branch");
ObjectId until = git.getRepository().resolve("HEAD");
for (RevCommit commit : git.log().addRange(since, until).call()) {
  // ...
}

关于java - 使用 JGit 获取一系列修订的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50287989/

相关文章:

java - 在 SWT 中使用受控嵌入式浏览器

java - 操作从 postForObject 返回的 JSON

git merge 忽略 merge 分支上存在的已删除文件(重命名文件)

java - 如何搜索包含识别文档字段的未知集合?

java - 如何将xml扩充为 fragment 类?

android - 为什么我在工作目录中看不到任何 android 源文件?

git - 递归地 git pull 所有的 git 子模块

java - 如何在不克隆本地存储库的情况下获取提交列表

jgit - 确定 JGit 中的跟踪分支

java - 使用 JGit 远程 git 存档