我无法使用 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
.
我想使用 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
.