JGit 3.7是否支持部分签出?

JGit 3.7是否支持部分签出?,jgit,Jgit,我使用JGIT3.7从Git存储库导入文件。但我只想导入一组文件夹,而不是全部文件夹。 我知道Git支持这一点,但我想知道JGIT3.7是否也支持这一点?如果是这样的话,有人可以指导我。根据设计,克隆的git存储库总是包含原始存储库的所有文件和文件夹 使用本机git,您可以创建(git克隆--depth 1…)但此功能不可用 与一般设计相反,原生git(自1.7版起)允许您使用创建部分克隆,但在JGit中这也是不可能的 但是,一旦克隆了存储库,在JGit中可以做的就是只复制分支或提交的一些文件

我使用JGIT3.7从Git存储库导入文件。但我只想导入一组文件夹,而不是全部文件夹。
我知道Git支持这一点,但我想知道JGIT3.7是否也支持这一点?如果是这样的话,有人可以指导我。

根据设计,克隆的git存储库总是包含原始存储库的所有文件和文件夹

使用本机git,您可以创建(
git克隆--depth 1…
)但此功能不可用

与一般设计相反,原生git(自1.7版起)允许您使用创建部分克隆,但在JGit中这也是不可能的

但是,一旦克隆了存储库,在JGit中可以做的就是只复制分支或提交的一些文件

git.checkout().setStartPoint(“某个分支”).addPath(“path/to/file”).call()

基于@rüdiger herrmann的回答:

String url = "https://github.com/renaud/solr_noLenghNormSimilarity";
String hash = "802558f58add3a1f5b33f04254194bd7cd59b27f";
String subPath = "src/org";
String dest = "myclone";

File localPath = new File(dest);

Git gitRepo = Git.cloneRepository().setURI(url).setDirectory(localPath).setNoCheckout(true).call();
gitRepo.checkout().setStartPoint(hash).addPath(subPath).call();
gitRepo.getRepository().close();

到目前为止你试过什么?您希望模仿的本机Git命令是什么?@Rudiger。谢谢你的快速回复。我尝试了下面的命令来从git存储库获取文件。”Git.cloneRepository().setURI(uri).setDirectory(新文件(dir)).call()。此命令用于下载所有源文件。但我不确定,如何导入特定目录及其子目录和文件?感谢您澄清Jgit尚未实现稀疏签出的解决方案。我能做的更好的事情是,克隆整个存储库并删除不需要的目录及其文件。向签出添加特定路径提交历史记录是分离的,因此如果创建新的命名分支,则无法将其推回到原始分支。仅包含少数指定文件的新分支无法合并回主分支,因为它们具有不同的提交历史记录