繁体   English   中英

git push * to *浅表克隆,为什么不呢?

[英]git push *to* a shallow clone, why not?

因此,每个人似乎都在问为什么不能一个浅表克隆中进行推送(尽管我实际上已经做到了这一点)。 但我感兴趣的是推浅服务器。

这是行不通的(我已经通过服务器中的“ git clone --bare --depth 1 the_original_repo”提供了git repo,由于它说它是一个浅表克隆,所以我无法从中克隆出来)。 但是我在想,如果尝试克隆的深度与创建浅克隆的深度相同,那为什么会有限制呢?

我的最终目标将是这样的设置:

          (shallow-SERVER)
           /            \
(full-history-client)  (shallow-client)

这样,两个浅节点将完全没有历史记录,但是会有一个具有完整历史记录的客户端。 如果浅层客户端推送到浅层服务器,则意味着它们的深度会增加,但是理想情况下,当完整历史客户端从服务器中拉出时,深度会再次减小。

我想现在这对git来说是行不通的,对吧?

只要您有足够的能力来生成必要的包,就没有理由不能从中推送或获取到部分存储库,我也已经做到了。

但是您不能设置部分存储库来服务其他人。

真正的部分存储库是非常特殊的用途,对于大多数用途,您想要到(至少一个)本地共享objects目录的路径,而该目录包含.git/objects/info/alternates中的完整历史记录。 那些人根本没有必要进行回购。 我不会这么称呼它,这使意外的gc彻底消除是不可能的,但是对此可能还有其他的想法。

在一个连一整包都买不起的地方,没有任何业务可以作为任何类型的共享仓库,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM