问题描述
在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
2.依次撤销commit(包含过要删除的大文件的commit必须都给撤销了,要不然会报错)
git reset xxxxxxxxxxxxx
3.你一定在想你的代码还在不在?不要担心,上面的撤销只是对commit命令的撤销,不会对你修改过的代码撤销的,他们还是在的。
4.删除掉本地的大文件(或者备份到其他地方)
5.重新进行提交
git add .
git commit -m '提交版本的注释'
git push
非常完美的解决了此问题。