使用JGit从远程存储库列出特定文件夹下的文件

时间:2016-06-16 14:41:09

标签: jgit

我试图从远程存储库(Github)列出HEAD中的文件。我从JGit文档中读取了示例,但大多数时候这些都引用了本地存储库。 我发现的关于远程存储库的唯一代码是:

Collection<Ref> refs = Git.lsRemoteRepository()
    .setHeads(true)
    .setTags(true)
    .setRemote("https://github/example/example.git")
    .call();

for (Ref ref : refs) {
    System.out.println("Ref: " + ref);
}

但是这段代码只是列出引用,比如HEAD。任何人都可以帮助列出我的远程存储库中的子文件夹中的文件吗?

1 个答案:

答案 0 :(得分:0)

LsRemoteCommand是git ls-remote的对应物,仅列出远程存储库的引用。为了列出存储库中包含的文件,您必须首先克隆存储库。

例如:

Git git = Git.cloneRepository()
  .setURI( "https://github.com/eclipse/jgit.git" )
  .setDirectory( "/path/to/repo" )
  .call();

有关使用JGit克隆存储库的更多信息,请参阅此链接:http://www.codeaffine.com/2015/11/30/jgit-clone-repository/