and https://blog.csdn.net/qq_40305944/article/details/122527380
这是一篇总结文,感谢网上大神们的帮助
1、查看哪个文件超过了100M
有可能错误直接爆出是哪个文件,也有可能只是爆出了该文件的代号。如果是代号需要先使用该语句查询具体是哪个文件
$ git rev-list --objects --all | grep 5461991911a48321b5fa06af482ac2fd23c52ceb
注意:grep命令有可能不能用,这时候把grep改成findstr就行
2、把查出来的文件删了再push,如果还不好使(要是好使也不会报这个错了。。。),那就是因为已经把这个文件push到git缓存里了,这时候就需要下面的方法
(就是这个方法):
1、删除那个过大的文件
2、commit这个delete
3、soft reset N次 commit,也就是回退N次commit,这里的N取决于你的需求(也就是要回退到commit了那个超过100M的文件之前)
git reset --soft HEAD~3
注意所有git命令都必须在git当前目录下执行。
tips:
1、第2步很好,但要注意别退多了(退多了也没事,反正一会还要checkout到指定的远程分支)
2、都操作完以后,应该已经把多余的commit都退干净了,这时候就可以checkout到指定的远程分支,然后做一些简单的合并,一定要记得别再把那个超过100M的文件commit了(这个文件一般都是平时打包的apk)!!!然后再push就行了