从远程 git 存储库获取单个文件

2023-11-25

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

  1. 我更喜欢使用尽可能少的带宽的解决方案,最好只下载单个文件。我不需要浏览存储库,我已经有了文件的路径。
  2. 我更喜欢不依赖于其他应用程序的解决方案(例如,在计算机上安装另一个 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(使用前将#替换为@)

从远程 git 存储库获取单个文件 的相关文章

随机推荐

  • 如何将 cv::Mat 转换为 pcl::pointcloud

    如何从 opencv Mat 点云到 pcl pointcloud 颜色对我来说并不重要 重要的是点本身 你可以这样做 pcl PointCloud
  • 比 get_headers() 更快的东西

    我正在尝试制作一个 PHP 脚本来尽快检查网站的 HTTP 状态 我目前正在使用 get headers 并在 mysql 数据库中的 200 个随机 url 循环中运行它 检查全部 200 个 平均需要 2m 48s 我能做些什么来让它
  • Java中的运算符重载

    请问Ja va中是否可以重载运算符 如果它在 Java 中的任何地方使用 请告诉我 不 Java 不支持用户定义的运算符重载 Java 唯一接近 自定义 运算符重载的方面是对字符串的 处理 这会导致常量的编译时连接或使用 StringBui
  • 使用 SPARQL 查询查找最短路径

    我试图了解 SPARQL 查询的计算限制 并且我想知道如何编写一个查询来确定两个对象之间是否存在有向路径 我知道一种针对特定长度的路径执行此操作的方法 SELECT a b c d WHERE a
  • 未捕获的类型错误:当我尝试将数据发送到 url 时,无法读取未定义的属性“ajax”

    我创建了一个表单来获取用户的反馈 我只是尝试将表单数据发送到 url 但我收到此错误 未捕获的类型错误 无法读取未定义的属性 ajax function sendData ajax url www yashkjhsah php type P
  • 打印内核的页表条目

    具有 4 级页表的虚拟内存映射 0000000000000000 00007fffffffffff 47 bits user space different per mm ffff800000000000 ffff80ffffffffff
  • 如果数据库丢失,SQLite 连接失败? (已删除/移动)

    我里面有以下方法class DBConnection 我这样调用该方法 SQLiteConnection conn DBConnection OpenDB 当我想打开连接时 以便我可以执行查询 当我想关闭连接时 我可以调用类似的方法 方法
  • $locationProvider.html5Mode(true) 问题

    一直在处理一些我陷入困境的 locationProvider 问题 我有一个简单的单页页面 但我收到以下错误 TypeError Cannot read property replace of undefined at trimEmptyH
  • Geopy:检索英文国家/地区名称

    我正在尝试反转地理编码坐标并使用 geopy 检索相应的国家 地区代码 然而 Geopy似乎没有提供获取国家代码的方法 因此 我尝试先检索国家 地区名称 然后将它们转换为代码 不幸的是 我的代码给了我非英语的国家 地区名称 如何获取英文国家
  • RxJS Observables 的 Promise.all 行为?

    在 Angular 1 x 中 我有时需要制作多个http请求并对所有响应执行某些操作 我会将所有的承诺放入一个数组中并调用Promise all promises then function results Angular 2 最佳实践似
  • 由于 rJava 导致尝试在 R 中加载包时出现问题

    当我打字时require xlsx 为了加载包xlsx在 R 中 显示以下消息 gt require xlsx Loading required package xlsx Loading required package xlsxjars
  • 将 Python argparse.Namespace() 视为字典的正确方法是什么?

    如果我想使用的结果argparse ArgumentParser 这是一个Namespace对象 具有需要字典或类似映射的对象的方法 请参阅集合 映射 正确的做法是什么 C gt python Python 2 7 3 default Ap
  • Typescript 索引签名和方法

    为什么下面的代码给出ts 2411 error class Greeter key string string number greeting string constructor message string this greeting
  • 如何删除ListBox中的多个选定项?

    我的 Windows 窗体包含两个列表框 Listbox1 包含一些项目 listbox2 为空 当我按下表单上的按钮时 应将 listbox1 中的多个选定项目从 Listbox1 中删除并复制到 Listbox2 中 我尝试在 list
  • JavaScript WeakMap 不断引用经过 gc 处理的对象

    我正在经历 JavaScript 弱映射 在 google chrome 开发者控制台中尝试此代码后 使用 js flags expose gc 运行 我不明白为什么弱映射继续引用 a b 如果 a 是GC 编辑 var a listene
  • Java中Arraylist转Json的方法

    我有一个数组列表 数组列表包含一堆域对象 如下图所示 Domain domainId 19 name a dnsName a com type 0 flags 0 Domain domainId 20 name b dnsName b co
  • 如何在客户端-服务器 PlayN 游戏中处理 RPC?

    我想使用 PlayN 创建客户端 服务器纸牌游戏 例如心 虽然我主要关注 HTML5 输出 但我希望与输出平台无关 以防我将来决定制作 Android 客户端 我应该如何处理RPC机制 这些是我想到的选项 通过 get post 方法将 J
  • Dynamodb:使用两个以上属性的查询

    在 Dynamodb 中 您需要在索引中指定可用于进行查询的属性 如何使用两个以上的属性进行查询 使用 boto 的示例 Table create users schema HashKey id defaults to STRING dat
  • 在 MKMapView 上移动/更新 MKOverlay

    有没有办法更新 即移动 aMKOverlay已经添加到MKMapView 删除旧的并添加新的非常糟糕 慢 即我想当覆盖物在屏幕上移动时触发调用此函数的后台函数 MKOverlayView mapView MKMapView mapView
  • 从远程 git 存储库获取单个文件

    有没有一种方法可以在 Java 中以编程方式从远程 git 存储库下载单个文件 我更喜欢使用尽可能少的带宽的解决方案 最好只下载单个文件 我不需要浏览存储库 我已经有了文件的路径 我更喜欢不依赖于其他应用程序的解决方案 例如 在计算机上安装