git - 如何在jgit中编写show-ref命令?

标签 git jgit

JGit 没有 ShowRefCommand 来获取所有分支的当前引用。 有没有办法使用jgit编写ShowRef?

最佳答案

应该是微不足道的事情。首先,该格式只是“.git/refs”目录中文件的迭代,因此您可以使用 shell 脚本来完成此操作:

find refs -type f | awk -- '{print "echo `cat " $1 "` "  $1 }' | sh

但是,在 JGit API 中,您可以通过迭代存储库的引用来执行相同的操作,该引用由“getAllRefs”命令返回:

Map<String, Ref> refs = repo.getAllRefs();
Set<Entry<String, Ref>> values = refs.entrySet();
for (Entry<String, Ref> entry : values) {
    System.out.println(entry.getValue().getObjectId().getName() + " " + entry.getValue().getName());
}

欢迎将其贡献给 JGit!

关于git - 如何在jgit中编写show-ref命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13615350/

相关文章:

amazon-s3 - JGit S3 仅支持标准美国存储桶?

git - jgit 我怎样才能得到两个日期之间发生的所有提交

即使我有 core.autocrlf=false,Git 也会使用 CRLF 克隆存储库

git - TeamCity 分支规范 - 有没有办法排除所有子文件夹?

java - 使用 JGit - Bare Repo 提交并推送到 GitHub?

java - 如何使用 Java 在 git 中进行稀疏校验

git - 如何使用开发分支中的一行命令更新本地 master 并重新设置其基准?

git - 如何阻止樱桃选择到 gerrit 上的特定分支

git - 如何在 jgitflow-mavenplugin 中没有 develop 分支工作

eclipse - 如何使用 JGit 将文件重置为特定提交?