如何用JGit检出某个文件夹

How to checkout a certain folder with JGit

FetchResult fr = git.fetch().setCredentialsProvider(credentials).setCheckFetchedObjects(true).Call();
git.checkout().setCreateBranch(true).setName("origin/" + branchName).setStartPoint("origin/" + branchName + "path/to/folder").call()

这是我用来从远程存储库中检出单个文件夹的代码。 等效的 git 命令是:

git fetch origin
git checkout origin/branch -- path/to/folder

但是,Java 代码对我不起作用,我只能初始化本地存储库并配置远程存储库。结帐没有用,我无法找出我犯了什么错误。

尝试像这样在结帐部分进行更改

"origin/"

试一试。

不然你要做的就是一个sparse checkout

How do I implement sparse checkout in JGit?

为了使用 JGit 检出特定文件夹(稀疏检出),您需要告诉 CheckoutCommand 要检出哪个文件夹。

例如:

git.checkout().setName( "branch-to-check-out" ).addPath( "path/to/folder" ).call();
可以多次调用

addPath() 来检查每个给定的路径。该路径是相对于工作目录解释的。