3

是否可以通过 http 克隆 git bundle?当我尝试这样做时,我得到了:

$ 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用户的应用程序

4

1 回答 1

1

我不知道怎么做你问的。捆绑包的最初目的是弥补无法“在线”访问存储库(例如 HTTP 连接等)的情况;所以我怀疑是否会对这样的用例进行任何考虑。

我收集到你想要的是准备一个你预计需要传输的 repo 子集,以便对该子集的请求不会产生传输额外数据或将需要的内容与不需要的内容分开的成本。在这种情况下,您可能会考虑准备一个浅克隆而不是捆绑包。请注意,要从浅克隆中获取的每个头的历史记录必须包含至少一个已在执行获取的 repo 中的提交。例如,如果你有

x -- x -- ... huge history ... -- O -- x -- x <--(master)
                                   \
                                    A -- B -- C <--(some_branch)

你想以这种方式分享AC你会

git clone --depth=4 -b some_branch url/of/origin some_branch_repo

因为 depth 是 4,这将包括O, A, B, and C-- 意味着一个 fetchsome_branch可以A通过接收C

于 2017-10-06T18:00:42.493 回答