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

Get log of a range of revisions with 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()) {
  // ...
}