我有一种情况,例如运行 git 命令,如
$ git log 1.0.201802090918...1.0.201802071240"
在我的存储库下获取发布标签 1.0.201802090918 和 1.0.201802071240 之间不同的提交列表。所以我想知道如何使用 JGit 进行编码以获得相同的效果。
最佳答案
LogCommand
允许指定它将包含的提交范围。范围需要以 ObjectId
形式给出。如果标签标记了起点和终点,则需要首先提取它们引用的提交ID。
下面的代码片段说明了必要的步骤:
ObjectId from = repo.resolve("refs/tags/start-tag");
ObjectId to = repo.resolve("refs/tags/end-tag");
git.log().addRange(from, to).call();
如果使用带注释的标签,则可能必须先将其取消剥离,如下所述:what is the difference between getPeeledObjectId() and getObjectId() of Ref Object?
关于jgit - 如何使用 JGit 记录两个发布标签之间的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48804216/