遇到此问题 首先参考 了此文
但是此文依然少了一个步骤因此依然会报错,原文是
1. 查看哪个文件超过了100M
有可能错误直接爆出是哪个文件,也有可能只是爆出了该文件的代号。如果是代号需要先使用该语句查询具体是哪个文件$ git rev-list --objects --all | grep xxx
2. 从缓存中删除
$ git filter-branch --tree-filter 'rm -f xxx' --tag-name-filter cat -- --all
这里的XXX替换成报错文件的具体路径(例如我这里的xxx是target/travel-0.0.1-SNAPSHOT.jar)
3.再次进行push操作
git push origin master
到第二步完成如果直接推依然报错,因为历史记录里面还有,会报错
Ref 'refs/heads/master' was rewritten
WARNING: Ref 'refs/remotes/origin/master' is unchanged
WARNING: Ref 'refs/remotes/origin/master' is unchanged
需要增加一步,因此完整步骤为:
1. 查看哪个文件超过了100M
有可能错误直接爆出是哪个文件,也有可能只是爆出了该文件的代号。如果是代号需要先使用该语句查询具体是哪个文件$ git rev-list --objects --all | grep xxx
2. 从缓存中删除
$ git filter-branch --tree-filter 'rm -f xxx' --tag-name-filter cat -- --all
这里的XXX替换成报错文件的具体路径(例如我这里的xxx是target/travel-0.0.1-SNAPSHOT.jar)
3.删除历史log
$ git log --pretty=oneline --branches -- xxx
xxx就是文件路劲同上
4.再次进行push操作
git push origin master
4步骤才会成功,本次踩坑记录。