java - 列出 git 远程仓库的分支而不克隆它

标签 java jgit

我想知道如何在不克隆的情况下使用 jgit 列出远程 Git 存储库的所有分支。

在浏览 jgit 的 javadoc 时,我发现了 ListBranchCommand但这似乎只适用于已经打开的 Repository 对象。但是我无法找到如何在不在本地克隆的情况下通过 HTTP 创建存储库对象。

这可能吗? 谢谢

最佳答案

LsRemoteCommand 用于列出远程存储库的分支。要获取命令,请使用

Git.wrap( repo ).lsRemote()

Git.lsRemoteRepository()

静态创建的 LsRemoteCommand 有其局限性。对于某些传输协议(protocol),本地存储库是获取配置设置所必需的。因此,我通常使用 Git.init() 创建一个空的临时本地存储库,然后使用第一种方法。

如果您想避免创建额外的存储库,您可以使用 Transport.open() 测试它是否在没有存储库的情况下成功。否则会抛出 NotSupportedException

关于java - 列出 git 远程仓库的分支而不克隆它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22631261/

相关文章:

java - Google App Engine 错误 DeadlineExceededException

java - JGit Java Git 库 Unstaging 文件

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

repository - jgit - 克隆存储库的分支而无需结帐

java - “this”指针未在 Java 程序中初始化

java - 使用gson获取子对象列表

java - 记录 JDBC 访问的所有数据库对象

android - 使用 JGIT 克隆 list 文件

java - JGit:计数对象

java - 关于AlarmManager的疑惑——Android