簡體   English   中英

如何使用 JGit 獲取標簽之間的提交列表?

[英]How to obtain commit list between tags with JGit?

假設給定兩個標簽作為輸入,例如“v5.8.0.202005061305-m2”和“v5.7.0.202003090808-r”。

有沒有辦法用 JGit 獲取兩個標簽之間的提交列表?

我知道 GitHub 具有該功能,因為您可以比較兩個標簽並查看其間的所有提交,但是我們可以用 JGit 做同樣的事情嗎?

LogCommand有一個addRange方法來指定您感興趣的提交。

這是一個將標簽名稱解析為提交 ID,然后使用LogCommand列出該范圍內的所有提交的示例。

Git git = ...
Ref tag1 = git.getRepository().exactRef("refs/tags/tag1");
Ref tag2 = git.getRepository().exactRef("refs/tags/tag2");
Iterable<RevCommit> commits = git.log().addRange(tag1.getPeeledObjectId(), tag2.getPeeledObjectId());
for(RevCommit : commits ) {
  ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM