记录下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
网友评论