Git有两个https协议--哑巴协议和智能协议。使用哑巴协议,在不克隆整个存储库的情况下下载单个blob是很容易的。
如何使用智能HTTPS Git协议执行相同的操作?
给定https repo URL和blob散列,我如何才能只下载该blob (执行一系列短请求)?
发布于 2020-05-25 20:40:04
使用哑巴HTTP协议,如果它是一个松散对象,您可以下载单个blob,这一点您是部分正确的。如果它是打包的,那么您必须下载整个包,或者可能下载所有包,才能获取单个对象。
至于使用smart协议获取单个blob,只有在服务器提供部分克隆的情况下才有可能。即使有这样的限制,您也需要编写一个手动客户机,它使用smart protocol来获取单个blob。根据服务器实现的不同,还可能需要获取包含提交并同时使用blob:none和tree:0筛选器,因此请准备好同时尝试这两种方法。Git本身并不提供此功能。
https://stackoverflow.com/questions/61999715
复制相似问题