git 上传100M单个文件无法上传的问题 - 删除文件

记录下git 上传单个文件无法上传的问题,开始使用postBuffer 发现上传失败,然后使用git LFS 还是报上传失败的错误,最后多研究了下采用从缓存中删除在提交 就可以正常上传了,具体实现:

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 , 如上传失败 可以采用 -f 强制提交,多人开发的时候,不建议强制提交 覆盖远程文件

成功!

注:

1.提示报Ref 'refs/remotes/origin/master' is unchanged

建议:-f 强制提交再试一下,或者采用git stash 缓存本次提交

终端提交的代码 供参考:

$ git rev-list --objects --all | grep cc89b7a396e5d73249898e2b4888191b89bd9223

cc89b7a396e5d73249898e2b4888191b89bd9223 Pods/AMap3DMap/MAMapKit.framework/MAMapKit

$ git filter-branch --tree-filter 'rm -f Pods/AMap3DMap/MAMapKit.framework/MAMapKit' --tag-name-filter cat -- --all

$git push origin dev -f

参考文档:http://www.mikel.cn/开发笔记/debug/git文件上传超过100m解决方案_zes的博客-csdn博客.html

https://www.jianshu.com/p/199f3beabd88

你可能感兴趣的:(git 上传100M单个文件无法上传的问题 - 删除文件)