git push提交报错文件过大,且去掉大文件也报同样的错误(转)
错误原因:
大文件存在没有被提交的commit记录里面;
解决方案:
删除有大文件的commit记录即可
移除大文件的正确姿势
$ git rm --cached giant_file(文件名)
# Stage our giant file for removal, but leave it on disk
$ git commit --amend -CHEAD
$ git push
1
2
3
4
解法一:
以下操作完后,相当于把本地代码回滚到远端的代码一致;的远端代码文件过大时,此种方式比从远端重新拉取方便快捷
git fetch -f -p
git checkout dev
git reset origin/dev --hard
1
2
3
第一句代码git fetch -f -p的作用就是从本地拿到远程最新分支,覆盖本地存放的远程分支
第二句实际上因为主要开发分支就是 dev 分支,小伙伴就是把大文件合并到这个分支,所以需要切换到这个分支。如果你不小心把大文件提交其它的分支,记得切换的就是你提交的分支。
如果提交大文件只是在自己的分支,并且放到了远程分支,那么合并到远程开发分支,那么只需要删除自己远程分支就好了,不需要继续往下做。
第三句git reset origin/dev --hard是把自己的本地 dev 分支覆盖,使用远程的分支,如果开发分支不是 dev ,那么请用其它的分支。
解法二:
网友:https://blog.csdn.net/m0_37696127/article/details/78984216分享的,不过我试了后没解决问题,但是也分享一下。
1、git status 查看未被传送到远程代码库的提交次数
在这里插入图片描述
2、git cherry -v 查看未被传送到远程代码库的提交描述和说明
在这里插入图片描述
3、git reset commit_id 撤销未被传送到远程代码库的提交
在这里插入图片描述
做到这里就已经可以重新添加提交了(注意一定要撤销有大文件的提交)
---------------------
作者:MobiusStrip
来源:CSDN
原文:https://blog.csdn.net/mobiusstrip/article/details/87709690
版权声明:本文为博主原创文章,转载请附上博文链接!