解决git commit 大文件推送失败

//查找大文件
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/

posted @ 2019-04-23 23:00  hexdbg  阅读(630)  评论(0编辑  收藏  举报