我在上游回购系统上运行了git repack -adf --depth=10000 --window=10000,它运行了很长时间,并将其从900 MB压缩到600 MB。
现在git-pull/git-fetch是否有可能改变这个包(而不做新的git-clone )?
我不想在这些客户端上做git-repack,因为这需要很长时间,使用git-clone创建新的回购并不像right选项-它创建新的回购(没有您的配置,存储,您以后需要移动未跟踪的文件,等等),而不仅仅是更新当前的文件。
发布于 2016-01-16 15:00:04
据我所知,本地包装在任何方面都不会影响取/推(和克隆)。包裹一直是从零开始包装的。因此,在获取或克隆过程中,无法真正从服务器上的爬虫中获益。
但是,您可以将.git/objects/pack/*.pack文件从服务器复制到客户端,并为每个客户端运行git index-pack --stdin --keep=origin <$file。然后运行git gc以删除多余的对象,并且只保留服务器上不存在的对象--它应该是快速的。详见https://git-scm.com/docs/git-index-pack
https://stackoverflow.com/questions/34816570
复制相似问题