通过哈希从远程 HTTPS 存储库签出单个 Blob



Git 有两个 https 协议 - 哑和智能。 使用哑协议,下载单个 blob 而不克隆整个存储库是微不足道的。

如何使用智能 HTTPS Git 协议执行相同的操作?

给定一个 https 存储库 URL 和一个 blob 哈希,如何只下载该 blob(执行一小串请求(?

您部分正确,因为使用愚蠢的 HTTP 协议,如果它是一个松散的对象,您可以下载单个 blob。 如果它已打包,则必须下载整个包,或者可能下载所有包才能获取单个对象。

至于使用智能协议获取单个 blob,这只有在服务器提供部分克隆的情况下才有可能。 即使有此限制,也需要编写一个手动客户端,该客户端使用智能协议来提取单个 Blob。 根据服务器实现的不同,可能还需要获取包含提交并同时使用blob:nonetree:0过滤器,因此请准备好同时尝试两者。 Git 本身不提供此功能。

最新更新