JGit:检索与 git 提交关联的标签

2024-01-12

我想使用 JGit API 检索与特定提交哈希相关的标签(如果有的话)?

请提供相同的代码片段。


Git 对象模型 http://book.git-scm.com/1_the_git_object_model.html将标签描述为包含有关特定对象的信息的对象,即。提交(除其他外),因此在纯 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());
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JGit:检索与 git 提交关联的标签 的相关文章

  • 如何在 JGit 中“git log --follow ”? (检索完整历史记录,包括重命名)

    我必须如何扩展以下 logCommand 才能获得 follow的选项git log命令工作 Git git new Git myRepository Iterable
  • 从远程 git 存储库获取单个文件

    有没有一种方法可以在 Java 中以编程方式从远程 git 存储库下载单个文件 我更喜欢使用尽可能少的带宽的解决方案 最好只下载单个文件 我不需要浏览存储库 我已经有了文件的路径 我更喜欢不依赖于其他应用程序的解决方案 例如 在计算机上安装
  • jgit 相当于“git merge-base --fork-pointbranchAbranchB”

    git merge base fork pointbranchAbranch 的 jgit 等效代码是什么 我尝试了下面的代码 但没有得到正确的答案 我用它来寻找分支起源 foreach branch git merge base fork
  • 使用 JGit 获取所有分支

    如何使用 JGit 获取存储库中的所有分支 让我们来看一个示例存储库 https github com test kitchen test kitchen 正如我们所看到的 它有 5 个分支 Here https github com ce
  • 从裸存储库获取子模块哈希

    我们有一个 gitolite 服务器和我们的客户定制应用程序 每个应用程序都有一个子模块 存储库 核心 它指的是我们的基础应用程序 我们现在想要创建一个仪表板 显示所有客户的应用程序以及核心所在的版本 gitolite 将所有内容存储在磁盘
  • eclipse:“重新索引存储库工作区”或“计算存储库工作区的 Git 状态”

    我正在使用 eclipse Juno 昨天我注意到我的计算机变得非常热 我检查了CPU使用率 发现它是100 Eclipse 是罪魁祸首 忙着 重新索引存储库工作区 半小时后还没完成 我的机器快要融化了 我搜索并发现了这些类似的问题 重新索
  • 如何使用 JGit 获取冲突行

    我正在开发使用 JGit 的应用程序 拉取后 我有冲突的文件 我可以从 List
  • JGit:检索与 git 提交关联的标签

    我想使用 JGit API 检索与特定提交哈希相关的标签 如果有的话 请提供相同的代码片段 Git 对象模型 http book git scm com 1 the git object model html将标签描述为包含有关特定对象的信
  • 引起原因:java.lang.ClassNotFoundException:com.jcraft.jsch.JSchException

    本地仓库和远程仓库之间的协议是HTTPS而不是ssh 是否还需要jsch的lib 如果是的话 能详细告诉我怎么处理吗 非常感谢 即使不用于https访问 jsch http www jcraft com jsch JGit 仍然需要 See
  • 使用 JGit 提交之间更改的文件列表

    我想在两次提交之间更改 添加 修改或删除 文件的路径 从命令行 我只需写 git diff name only abc123 def456 使用 JGit 执行此操作的等效方法是什么 您可以使用DiffFormatter得到一个列表Diff
  • 使用 JGit 确定前后提交的数量

    在 GitHub 项目中 当我们转到任何分支页面时 我们可以看到描述分支的提前 延迟提交编号的图表 掌握 我们如何使用 JGit 确定数字前面的数字 I used BranchTrackingStatus为此类 但我得到BranchTrac
  • 如何使用 JGit 找到分支的第一次提交?

    我想使用 Eclipse 的 JGit 库找到特定分支的第一个提交 例如 如果我有 master a c d e feature b f g h another j k l findBranchRoot is the magic metho
  • jgit 如何获取两个日期之间发生的所有提交

    或者只是两个日期之间发生的所有提交 在 SVN 中 你可以做类似的事情svn diff r date date 去做吧 你可以举这个例子JGit测试类RevWalkFilterTest java https github com eclip
  • JGit S3 仅支持标准美国存储桶?

    除了美国标准的 S3 存储桶之外 是否可以使用 JGit 的其他位置 即通过配置文件等 还是我在这里做错了什么 如果我尝试将位于 EU 的 S3 存储桶与 JGit 一起使用 jgit 会抛出错误 gt jgit push origin m
  • 如何使用 JGit 检查 Git 克隆是否已完成

    我学习 git 并使用 JGit 从 java 代码访问 Git 存储库 Git 默认情况下不允许克隆到非空目录 我们如何确定本地计算机中的特定 git 存储库已经完成了 git 克隆 以便我们随后只能执行 Git pull 操作 目前我正
  • Spring Cloud Config - Git 存储库错误

    Spring云配置框架 我正在尝试将java项目中的spring cloud配置与后端存储库集成git这是位桶 基本上 我在不同场合更频繁地遇到两个错误 2020 04 11 17 08 59 265 WARN 2792 main c s
  • 在jgit中配置known_hosts

    使用 jgit 和 gitolite 进行源代码控制 我有一个应用程序 可以根据命令生成某些代码 并且我们希望将其提交给源代码控制 目标是快速拉动 提交新代码 然后推送它 我有以下方法 private void commitToGitRep
  • Ref 对象的 getPeeledObjectId() 和 getObjectId() 有什么区别?

    我正在使用 jgit api 来实现项目的构建 部署功能 在本地机器中 我通过以下命令通过命令提示符提交了整个源代码 java项目 git add git commit a m Initial Source 这里我得到的提交 ID 为cb9
  • 使用 JGit TreeWalk 列出文件和文件夹

    我想使用 JGit 显示头部修订的所有文件和文件夹的列表 我可以使用 TreeWalk 列出所有文件 但这不会列出文件夹 这是我到目前为止所拥有的 public class MainClass public static void main
  • 无法使用 File delete() 方法删除 git repo 中的 .pack 文件

    对于我正在编写的这个方法 我使用 jgit 库克隆一个 git 存储库 然后对这些文件执行一些操作 最后我想删除该存储库 我遇到的问题是 当我在 pack 文件 位于 git objects pack 中 上调用 delete 方法时 它无

随机推荐