是否可以通过 http 克隆 git 包? 当我尝试这样做时,我得到了:
$ git clone http://127.0.0.1:8888/repo.bundle
Cloning into 'repo.bundle'...
fatal: repository 'http://127.0.0.1:8888/repo.bundle/' not found
这样做的原因是为了避免压缩服务器上的存储库(仅提供文件)并且我们仅限于 git clone
用户的应用程序
最佳答案
我知道没有办法按照你的要求去做。 bundle 的最初目的是补偿无法“在线”访问存储库(例如 HTTP 连接等)的情况;所以我怀疑是否有人会考虑这样的用例。
我了解到您想要的是准备您预计需要传输的存储库的一个子集,这样对该子集的请求就不会产生传输额外数据或将需要的与不需要的分开的成本。在这种情况下,您可能会考虑准备一个浅层克隆而不是一个包。请注意,要从浅克隆中获取的每个头的历史记录必须至少包含一个已经在执行获取的 repo 中的提交。例如,如果您有
x -- x -- ... huge history ... -- O -- x -- x <--(master)
\
A -- B -- C <--(some_branch)
如果您想通过C
以这种方式共享A
,您会
git clone --depth=4 -b some_branch url/of/origin some_branch_repo
因为深度是 4,这将包括 O
、A
、B
和 C
-- 意思是some_branch
的提取可以通过 C
接收 A
。
关于git - 通过 http(s) 克隆 git bundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46609316/