如何使用 JGit 记录两个发布标签之间的提交

How to log the commits between two release tags with JGit

我有一个案例,例如 运行 git 命令,例如

$ git log 1.0.201802090918...1.0.201802071240" 

在我的回购协议下获取发布标签 1.0.201802090918 和 1.0.201802071240 之间的不同提交列表。所以我想知道如何使用 JGit 进行编码以获得相同的结果。

LogCommand 允许指定它将包含的提交范围。范围需要以 ObjectIds 的形式给出。并且如果标签标记了起点和终点,则需要先提取它们引用的提交ID。

下面的代码片段说明了必要的步骤:

ObjectId from = repo.resolve("refs/tags/start-tag");
ObjectId to = repo.resolve("refs/tags/end-tag");
git.log().addRange(from, to).call();

如果使用带注释的标签,可能必须先 未剥离,如下所述: