Git push大文件失败解决


Git push大文件失败解决

img

问题描述

在git push的时候,报错:

error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

导致一直commit,未push的好多版本都无法推到github上,头疼~

问题解决

自然先找度娘,查阅了好多相关问题的解决办法,发现都很雷同,就是下面这一种

1.取消文件大小限制

在github上推送时候,貌似单个文件不能超过100M。再加上天朝的墙,给个眼神自己体会。既然是提交大文件导致http postbuffer溢出,将postbuffer改大就可以了。

git config http.postBuffer 524288000

最后面的那个数字不一,但是这个数字相对来说出现频率比较高。

修改之后,美滋滋,再次push依旧报错,同样的错。呵呵~~~心里无数的草泥马在奔腾

再次踏上需求答案之旅。

2.撤销commit

在网上看到了一个大神的帖子,虽然没有详细的步骤,但是一语惊醒梦中人。那就是在commit的时候,之前的版本里面已经包含过这些大文件了,虽然后来在新版本里面删除了大文件,但是之前commit的记录还是存在。所以在统一push的时候就呵呵了。搞清楚这一点,那么我们把大文件的几次提交给它取消不就好了吗。心里又盛开了小花,说干就干。

1.先查看一下最近提交的commit的版本号。

git log

img

2.依次撤销commit(包含过要删除的大文件的commit必须都给撤销了,要不然会报错)

git reset xxxxxxxxxxxxx

img

3.你一定在想你的代码还在不在?不要担心,上面的撤销只是对commit命令的撤销,不会对你修改过的代码撤销的,他们还是在的。

4.删除掉本地的大文件(或者备份到其他地方)

5.重新进行提交

git add .
git commit -m '提交版本的注释'
git push

非常完美的解决了此问题。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM