Git清理过大的git目录objects文件

本文详细指导如何查找并清理Git仓库中过大的objects文件,涉及`gitrev-list`、`gitfilter-branch`、`gitgc`等多个命令,以及如何主动回收和远程同步资源,确保仓库瘦身和高效管理。
摘要由CSDN通过智能技术生成

Git清理过大的git目录objects文件

  1. Git清理过大的git目录objects文件
 1. git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
  1. 找到最大的几个文件后,删除:
git filter-branch --force --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch *(路径)/**(文件名).*' --tag-name-filter cat -- --all
  1. 等命令执行完后,要提交到远程:
git push --force --all

此时你会发现本地目录中的.git文件并不会马上就变小,而是与原来是一样的,
是因为Git仓库历史有个缓存期,如果不主动回收、清理仓库历史,一般的这些记录还会保存一段时间,以备你突然后悔了,没办法找回删掉的文件。

  1. 通过以下命令主动回收资源:
rm -rf .git/refs/original/

git reflog expire --expire=now --all

git fsck --full --unreachable

git repack -A -d

git gc --aggressive --prune=now

git push origin <远程分支名称> --force

# git push origin --force --tags
  1. 让远程仓库变小:
git remote prune origin
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值