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