我想使用JGit API来检索与特定提交哈希关联的标签(如果有的话)?
请提供相同的代码段。
最佳答案
Git object model将标签描述为一个对象,其中包含有关特定对象的信息,即。提交(除其他事项外),因此在纯git中不可能获得您想要的信息(提交对象没有有关相关标签的信息)。这应该“向后”完成,获取标签对象,然后引用特定的提交。
因此,如果要获取有关为特定提交指定的标签的信息,则应遍历它们(标签)并选择适当的标签。
List<RevTag> list = git.tagList().call();
ObjectId commitId = ObjectId.fromString("hash");
Collection<ObjectId> commits = new LinkedList<ObjectId>();
for (RevTag tag : list) {
RevObject object = tag.getObject();
if (object.getId().equals(commitId)) {;
commits.add(object.getId());
}
}
关于JGit:检索与git commit关联的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7501646/