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

问题描述

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

例如

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

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

解决方法

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

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

我可以使用SVNKit与Subversion进行类似的操作,并且我已经看到有git的纯Java实现(eclipse的JGit),它可以完成类似的操作,因此我希望有一个肯定的答案;尽管据我了解git的工作原理-
仅允许从本地存储库进行更新-这可能会出现问题。

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”