2017-10-06 154 views
2

可以通过http克隆git包吗? 当我尝试这样做,我得到:通过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 

之所以这样做,是为了避免在服务器上压缩存储库(只服务于文件),我们通过用户的应用

回答

1

我知道限于git clone没办法做你所要求的。 bundle的最初目的是为了弥补“在线”访问repo(例如HTTP连接等)不可用的情况;所以我怀疑这样的用例会有什么想法。

我收集您想要的是准备您预计需要传输的回购子集,以便针对该子集的请求不会产生转移附加数据或将所需内容分离出来的成本。在这种情况下,你可能会考虑准备一个浅层克隆而不是捆绑包。请注意,从浅克隆中提取每个头的历史记录必须至少包含一个已经在执行提取的回购中的提交。因此,举例来说,如果你有

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,这将包括OABC - 意味着some_branch的提取可以接收AC