有没有一种方法可以在 Java 中以编程方式从远程 git 存储库下载单个文件?
- 我更喜欢使用尽可能少的带宽的解决方案,最好只下载单个文件。我不需要浏览存储库,我已经有了文件的路径。
- 我更喜欢不依赖于其他应用程序的解决方案(例如,在计算机上安装另一个 git 客户端)。包含 git 客户端实现本身的 Java 库将是最佳选择。
我能够使用 Subversion 做类似的事情SVNKit我见过 git 有一个纯 java 实现(eclipse 的 JGit)也许可以做类似的事情,所以我希望有一个肯定的答案;尽管根据我对 git 工作原理的了解 - 只允许从本地存储库进行更新 - 这可能会被证明是有问题的。
git 并不是真正为从远程存储库访问单个文件而设计的,但您可以滥用git archive
为了这。缺点是您必须下载“树”而不仅仅是您需要的 blob。
E.g.
git archive --remote=url://to.git.repo branch path/to/dir | tar -x file
作为替代方案,如果您在远程存储库上设置了 gitweb,则可以使用简单的 curl 或 wget 命令来下载“原始”格式的任何文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)