我正在开发一个我们必须使用JGit的项目。当我尝试使用远程git存储库(未在我的本地设备中克隆的git)时遇到问题我收到以下异常:
没有HEAD存在且未指定明确的起始修订
如果我克隆存储库它运行良好,但存储库非常大,我无法克隆它,因为项目要求。有没有办法如何使用远程存储库?我只做简单的读操作。
答案 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,那么您可能只能获取部分存储库。