.git文件过大解决

最近使用git时,不当心上传了大文件致使push超时缓慢,后面发现.git文件快2G了,因而进行了清理。清理步骤以下git

1.网上不少说是.git/objects/pack文件过大,最开始个人objects文件不少而pack文件下没有文件的,因此执行ide

git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -53d

报错code

fatal: Cannot open existing pack file '.git/objects/pack/pack-*.idx'blog

.git/objects/pack/pack-*.pack: badrem

执行git gc以后pack目录下就有文件了get

执行下面命令it

find .git/objects/ -type fast

.git文件过大解决
执行git gc命令class

查找大文件

git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -n | tail -3

.git文件过大解决
根据上面提交id看文件

git rev-list --objects --all|grep 7b83aa3d84cb2e523f019e979835a4ffcaf15064

.git文件过大解决

移除doc/book/目录下提交的文件记录

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch  doc/book/**' --prune-empty --tag-name-filter cat -- --all

.git文件过大解决

真正的删除

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
git push origin master --force
让远程仓库变小``
git remote prune origin

参考:https://www.jianshu.com/p/fe3023bdc825