【发布时间】:2011-04-08 05:08:57
【问题描述】:
有没有办法用 Java 以编程方式从远程 git 存储库下载单个文件?
- 我更喜欢使用尽可能少的带宽的解决方案,最好只下载单个文件。我不需要浏览存储库,我已经有了文件的路径。
- 我更喜欢不依赖其他应用程序的解决方案(例如,在机器上安装另一个 git 客户端)。包含 git 客户端实现本身的 Java 库是最佳选择。
我能够使用 SVNKit 对 Subversion 做类似的事情,我已经看到有一个纯 Java 实现的 git (eclipse's JGit) 可能能够做类似的事情,所以我希望有一个积极的回答;尽管根据我对 git 工作原理的了解——只允许从本地存储库进行更新——这可能被证明是有问题的。
【问题讨论】:
-
据我了解,jgit 仍在努力提供 git 的所有功能 - 它不太可能提供 git 不提供的功能。
-
我认为这在一般情况下是不可能的,也就是说,你只能通过 git 协议访问。我不相信正常的传输机制提供任何访问单个文件的方法。我相当肯定你必须在远程(例如 gitweb)上安装一些东西或获得对 repo 的文件系统访问权限(远程或本地,可能是浅层克隆)。