你如何用 JGit 做相当于“git show tagname”的操作?

Posted

技术标签:

【中文标题】你如何用 JGit 做相当于“git show tagname”的操作?【英文标题】:How do you do the equivalent of a "git show tagname" with JGit? 【发布时间】:2013-11-29 11:09:44 【问题描述】:

我在 org.eclipse.jgit.api 中找不到任何看起来很合理的东西。我的印象是“git show”是一个瓷器命令,我看到很多其他类用于更晦涩的命令。

这可能吗?

【问题讨论】:

【参考方案1】:

RevTag 类表示 JGit 中的标签。要从存储库中读取标签,您需要像这样使用 RevWalk:

Repository repository = ...
ObjectId objectId = ObjectId.fromString("a33a2d4dff046b3a19e36b3d1026fbcc5b806889");
try (RevWalk revWalk = new RevWalk(repository)) 
  RevTag revTag = revWalk.parseTag(objectId);
  // do something with revTag

JGit 项目还提供了一个命令行解释器,其功能与原生 git 非常相似。它可以在 org.eclipse.jgit.pgm 包/库中找到。如果您想了解有关从标签或引用的提交获取信息的更多信息,我建议您查看show command。

【讨论】:

我的代码抛出org.eclipse.jgit.errors.IncorrectObjectTypeException: Object 3dfc94dd89b1bd2d30f738d63fd213820ea1a496 is not a tag.

以上是关于你如何用 JGit 做相当于“git show tagname”的操作?的主要内容,如果未能解决你的问题,请参考以下文章

你如何用 asynctask json 做 pojo

你如何用 Mingw 编译 python 3.5 代码?

教你如何用 sketch 做插画,看完惊呆了

你如何用 jQuery 检测你何时接近屏幕底部? [复制]

python爬虫技术如何挣钱?手把手教你如何用Python做副业月入30000+!

python爬虫技术如何挣钱?手把手教你如何用Python做副业月入30000+!