kingBook

导航

git 查找大文件、删除大文件

1. git add -A

2. git commit -m "xxx"

3. git gc

4. 查找大文件,"tail -20"中的20表示条数
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -20 | awk '{print$1}')"

5. 删除大文件,”xxx.framework“是上一步中列出的大文件路径,遍历所有的commit,删除指定的文件,重写历史commit
git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch xxx.framework' --prune-empty --tag-name-filter cat -- --all

6. 强行远程推送
git push origin --force --all

7. 清除缓存
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now


// 查看项目仓库大小
git count-objects -v

posted on 2022-05-19 09:40  kingBook  阅读(973)  评论(0编辑  收藏  举报