如何使用JGit检出某个文件夹

问题描述 投票:0回答:2
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 代码对我不起作用,我只能初始化本地存储库并配置远程存储库。结账失败,我不知道我犯了什么错误。

java git jgit
2个回答
1
投票

为了使用 JGit 签出特定文件夹(稀疏签出),您需要告诉

CheckoutCommand
要签出哪个文件夹。

例如:

git.checkout().setName("branch-to-check-out").addPath("path/to/folder").call();

addPath()
可以多次调用来检查每条给定的路径。该路径是相对于工作目录解释的。


0
投票

尝试在结账部分进行这样的更改

"origin/"

并尝试一下。

否则你想做的是

sparse checkout

如何在 JGit 中实现稀疏签出?

© www.soinside.com 2019 - 2024. All rights reserved.