我使用的是JGit 6.5.x和Java 17.我有一个很大的远程存储库(GB),但我只需要临时访问一个子目录(例如foo/bar/
个)进行处理.单个子目录非常小(几百千字节).克隆一个浅层、裸露的存储库也相对较小:
try (final Git git = Git.cloneRepository()
.setURI(REMOTE_REPOSITORY_URI.toASCIIString())
.setDirectory(LOCAL_RESPOSITORY_PATH.toFile())
.setBare(true)
.setDepth(1)
.call()) {
System.out.println("cloned shallow, bare repository");
}
有没有一种方法可以克隆一个像那样的浅层、裸露的存储库(或任何其他最小版本的存储库),然后将单个子目录foo/bar
临时签出到其他某个目录,以便我可以使用正常的Java文件系统API来处理这些文件?
请注意,我刚刚成功地完成了上面的克隆,并且还没有开始研究如何从这个裸存储库中签出单个子目录.