![](/img/trans.png)
[英]Upstream branch shows in local only after a git fetch and not git pull
[英]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.