问题一览
最近在使用Git的过程中,不小心未将一个大文件添加到.gitignore中,导致使用git push之后出现一下报错:
Large files detected.
this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001:xxxx
使用git reset --soft HEAD^和git rm --cached xxx之后均没有得到有效解决,怀疑是之前版本的commit中也包含这个压缩文件,但是当时这个文件还未超过100MB的限制,因此没有触发上传失败。
解决方案:使用以下代码遍历历史所有的commit,使用rm删除该文件
git filter-branch --force --index-filter "git rm -rf --cached --ignore-unmatch xxxx.zip" --prune-empty --tag-name-filter cat -- --all