我无法使用 JGit 从远程存储库检出单个文件

I can't checkout a single file from a remote repository using JGit

我想使用 JGit 从我的 git 远程存储库中检出单个文件。我使用的代码是这样的:

CheckoutCommand checkoutCommand=git.checkout();
checkoutCommand.addPath("file1.txt");
try {
    checkoutCommand.call();
} catch (GitAPIException e) {
    e.printStackTrace();
}

git 对象已正确初始化,因为当我使用它创建带有 git.pull() 的拉命令时,它可以正常工作。当我 运行 上面的代码似乎可以工作,因为它没有进入 catch 块,但是当我打开本地存储库的工作区时,我没有看到 file1.txt 文件。

P.S。 现在我尝试添加行 checkoutCommand.setName("master"); 但它仍然没有下载任何内容。

一个解决方案是这个:

CheckoutCommand checkoutCommand=git.checkout();
checkoutCommand.setName("origin/master");
checkoutCommand.addPath("file1.txt");
try {
    checkoutCommand.call();
} catch (GitAPIException e) {
    e.printStackTrace();
}

有人建议在 checkout 之前执行 fetch,但为了下载 file1.txt 没有必要。 基本上我必须将名称设置为 origin/master.