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

时间:2017-04-17 05:07:40

标签: java git 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代码对我来说并不起作用,我只能初始化本地存储库并配置远程存储库。结账不起作用,我无法找出我犯的错误。

2 个答案:

答案 0 :(得分:0)

尝试在结帐部分进行更改

"origin/"

并尝试一下。

否则你要做的是sparse checkout

How do I implement sparse checkout in JGit?

答案 1 :(得分:0)

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

例如:

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

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