git仓库瘦身

本文介绍了在使用Git命令获取版本库文件时遇到内存不足的问题,以及如何通过分步操作来解决这个问题。首先,通过获取第一层文件目录再更新的方式来避免一次性加载大量数据。然后,通过识别并删除历史中的大文件,特别是`target/`文件夹,以减小版本库大小。最后,执行仓库压缩和强制推送更新到远程仓库。这些步骤有助于优化Git仓库,提高操作效率。
摘要由CSDN通过智能技术生成

问题:使用git命令过去版本库文件时遇到如下错误

emote: fatal: Out of memory, malloc failed (tried to allocate 428284644 bytes)        
remote: aborting due to possible repository corruption on the remote side.
Receiving objects:  94% (5982/6334), 221.66 MiB | 5.84 MiB/s  

处理方案:
方案1、通过git命令先获取第一层的文件目录,然后再更新
方案2、版本库瘦身

# 查看历史大文件
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
# 从历史中删除 target/ 这个文件夹
git filter-branch --force --index-filter 'git rm -r  --cached --ignore-unmatch target/' --prune-empty --tag-name-filter cat -- --all
# 执行仓库压缩
git gc --prune=now
# 推送到远程仓库
git push origin --force --all
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值