繁体   English   中英

如何从重新打包的上游进行git pull / fetch?

[英]How to git pull/fetch from repacked upstream?

我已经在上游git repack -adf --depth=10000 --window=10000上运行了git repack -adf --depth=10000 --window=10000 ,它运行了很长时间,并将其从900 MB缩小到600 MB。

现在可以git-pull / git-fetch这个包的变化(而不做新鲜的git-clone )?

我不想在这些客户端上执行git-repack ,因为这将花费很长时间,并且使用git-clone创建新的回购协议似乎不是正确的选择-它会创建新的回购协议(无需配置,存储,以后需要移动未跟踪的文件等),而不仅仅是更新当前文件。

据我所知,本地打包不会以任何方式影响获取/推送(也包括克隆)。 从头开始总是打包发送的捆绑包。 因此,您在提取或克隆期间实际上无法从服务器上的重新打包中受益。

但是,您可以将.git/objects/pack/*.pack git index-pack --stdin --keep=origin <$file文件从服务器复制到客户端,并对每个git index-pack --stdin --keep=origin <$file运行git index-pack --stdin --keep=origin <$file 然后运行git gc删除多余的对象,并仅保留服务器上不存在的对象-它应该很快。 有关详细信息,请参见https://git-scm.com/docs/git-index-pack

暂无
暂无

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

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