git大文件太多问题
简介
git大文件太多问题
git文件太多问题
查看超过5M得文件
find . -type f -size +5M -exec du -h {} \;
识别出最大的三个文件
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -n | tail -3
```shell
# 查询大文件的文件名
```shell
git rev-list --objects --all | grep 609e3fc6a45270d0197f95800c9944aa047db19c
从 git 历史中移除
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" >> large-files.txt
cat large-files.txt| awk '{print $2}' | tr '\n' ' ' >> large-files-inline.txt
git filter-branch -f --prune-empty --index-filter "git rm -rf --cached --ignore-unmatch `cat large-files-inline.txt`" --tag-name-filter cat -- --all
真正删除
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
如果是非要用大文件比如github最大文件时100M建议用
大文件存储的正确方式 git-lfs
文章作者 🐳Myki
上次更新 2021-10-20