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 代码对我不起作用,我只能初始化本地存储库并配置远程存储库。结账失败,我不知道我犯了什么错误。
为了使用 JGit 签出特定文件夹(稀疏签出),您需要告诉
CheckoutCommand
要签出哪个文件夹。
例如:
git.checkout().setName("branch-to-check-out").addPath("path/to/folder").call();
addPath()
可以多次调用来检查每条给定的路径。该路径是相对于工作目录解释的。