git的pack文件太大

.git/objects/pack 文件过大

可能是由于开发过程中上传过大文件,虽然现已删除,但仍然保存着git记录中。

解决办法:

一、删除仓库上的项目,重新提交代码。

二、彻底清除历史记录

1.识别出最大的三个文件

git verify-pack -v .git/objects/pack/pack-8eaeb...9e.idx | sort -k 3 -n | tail -3

296169a146c50dbc100a5d0ee5be87a45cd7cbb3 blob 50296832 49474116 291684796

aae2c1bf6109f2729502349722b4c3402626d755 blob 77762481 77330392 78759794

35047899fd3b0dd637b0da2086e7a70fe27b1ccb blob 100534272 100014418 191670176
2.查询大文件的文件名

git rev-list --objects --all | grep 35047899fd3b0dd637b0da2086e7a70fe27b1ccb

35047899fd3b0dd637b0da2086e7a70fe27b1ccb /wabapi/bulid/master-0.0.1.jar
3.将该文件从历史记录的所有 tree 中移除

git filter-branch --index-filter 'git rm --cached --ignore-unmatch /wabapi/bulid/master-0.0.1.jar'

4.执行如下语句

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 --force
原文地址:https://www.cnblogs.com/qinghe123/p/13230392.html