在JGit中使用远程存储库

时间:2017-05-09 09:36:25

标签: java git jgit

我正在开发一个我们必须使用JGit的项目。当我尝试使用远程git存储库(未在我的本地设备中克隆的git)时遇到问题我收到以下异常:

没有HEAD存在且未指定明确的起始修订

如果我克隆存储库它运行良好,但存储库非常大,我无法克隆它,因为项目要求。有没有办法如何使用远程存储库?我只做简单的读操作。

2 个答案:

答案 0 :(得分:3)

要访问Git存储库的历史记录,您需要先克隆它。如果您对工作目录不感兴趣,则克隆可能是裸的,但需要克隆。

Git允许创建一个只包含指定深度的历史记录的浅层克隆,但是JGit仍然缺乏对浅层克隆的支持:  https://bugs.eclipse.org/bugs/show_bug.cgi?id=475615

答案 1 :(得分:0)

JGit支持步行远程可用的参考(即标签,分支......),参见例如https://github.com/centic9/jgit-cookbook/blob/master/src/main/java/org/dstadler/jgit/porcelain/ListRemoteRepository.java

如果您提供适当的RefSpec,那么您可能只能获取部分存储库。