起因
晚上一到家就听同事说,git仓库拉不下来了,于是看了一下:

哎,肯定是哪位大爷又在作妖了,后悔当初没有设置单文件大小。不过事情已经发生,当务之急肯定是如何解决问题,消除影响。
命令式解决方案
Step 0:查看空间占用
git count-objects -v # 查看 git 相关文件占用的空间
du -sh .git # 查看 .git 文件夹占用磁盘空间
Step 1:找到仓库记录中的大文件
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
Step 2:重写这些大文件涉及到的所有提交
git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch {your-file-name}' --tag-name-filter cat -- --all
Step 3:同步远程仓库
git push origin --force --all
工具式解决方案
如果不喜欢敲命令,还有一个工具可用:https://rtyley.github.io/bfg-repo-cleaner/
本文详细介绍了如何解决Git仓库中大文件导致的问题,包括通过命令式和工具式两种方法来定位并移除大文件,确保仓库的正常运作。
476

被折叠的 条评论
为什么被折叠?



