//查找大文件
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5
//根据上面查找到的hash值,筛选文件名
git rev-list --objects --all | grep 28c65edc2b880f02602970a5d13f6ffc9a59cb66
//删除
git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 2阶段/4sql/StuSqlMgr/TCPServer/lib/' --prune-empty --tag-name-filter cat -- --all
//真正的删除和清理
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 origin master
或者参考这里https://rtyley.github.io/bfg-repo-cleaner/
Git高级清理与推送技巧
本文分享了在处理大型Git仓库时的高级清理与优化策略,包括如何查找并删除大文件,使用filter-branch进行历史记录修改,以及如何执行完整的垃圾回收和优化,最后强制推送至远程仓库。

1826

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



