笔记一下: 删除 git 仓库记录中的大文件

找出最大的5个文件

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"

重写记录

git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch test.tar.gz' --tag-name-filter cat -- --all

强制推送

git push origin master -f

回收空间

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now