1.查找要清理的文件
git rev-list --objects --all | grep "清理的文件关键字"
2.删除历史记录
git log --pretty=oneline --branches -- 文件或者目录
3.重写所有 commit,将该文件从 Git 历史中完全移除
git filter-branch --index-filter 'git rm --cached --ignore-unmatch 文件或者目录' -- --all
4.引用完全删除
rm -Rf .git/refs/original //删除git的备份
rm -Rf .git/logs/ // 删除logs
git gc //收集所有松散对象并将它们存入 packfile(垃圾回收)
git prune //删除所有过期的、不可达的且未被打包的松散对象
5.删除之后,需要以强制覆盖的形式提交上去
git push origin 分支 --force