git 上传超过100M文件报错后的处理方式

遇到此问题 首先参考 了此文

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步骤才会成功,本次踩坑记录。

经验分享 程序员 微信小程序 职场和发展