从远程git仓库获取单个文件

有没有一种方法可以用Java从远程git存储库中以编程方式下载单个文件?

  1. 我更喜欢使用尽可能少的带宽的解决方案,最好只下载单个文件。我不需要浏览存储库,我已经有了文件的路径。
  2. 我更喜欢不依赖于其他应用程序的解决方案(例如,在计算机上安装另一个git客户端)。一个包含git客户端实现本身的Java库是最佳的。

我可以使用SVNKit与Subversion进行类似的操作,并且我已经看到有git的纯Java实现(eclipse的JGit),它可以完成类似的操作,因此我希望有一个肯定的答案;尽管据我了解git的工作原理-

仅允许从本地存储库进行更新-这可能会出现问题。

回答:

git并不是真正为从远程存储库访问单个文件而设计的,但是您可能会滥用git archive它。缺点是您必须下载“树”而不是仅下载所需的Blob。

例如

git archive --remote=url://to.git.repo branch path/to/dir | tar -x file

或者,如果在远程存储库上设置了gitweb,则可以使用简单的curl或wget命令以“原始”格式下载任何文件。

以上是 从远程git仓库获取单个文件 的全部内容, 来源链接: utcz.com/qa/432225.html

回到顶部