不小心把很大的exe文件复制到了工程里并且commit了,之后我虽然删除了本地的文件,但是push的时候仍然提示我文件过大。
1.使用 rev-list 命令,传入 - -objects 选项,它会列出所有 commit SHA 值,blob SHA 值及相应的文件路径,这样查看 blob 的文件名。
$ git rev-list --objects --all
2.重写这些大文件涉及到的所有提交
git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch {your-file-name}' --tag-name-filter cat -- --all
3.同步远程仓库
git push origin --force --all
最后终于如愿以偿的push成功了。