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

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

这可能吗?

【问题讨论】:

    标签: java git jgit


    【解决方案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.
    猜你喜欢
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 2023-02-22
    • 2010-09-12
    • 2021-07-13
    相关资源
    最近更新 更多