git clone 失敗 fatal: early EOF fatal: the remote end hung up unexpectedly fatal: index-pack failed

git clone提示:

fatal: early EOF
fatal: the remote end hung up unexpectedly
fatal: index-pack failed
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

使用git clone 克隆遠程庫時,出現了上述錯誤,網上找了很長時間的解決方案,很多解答都是運行以下命令:

git config http.postBuffer 524288000

git bash 上運行上述代碼後仍未解決問題,因爲此命名的目的是增加緩存空間到500M,這是用於解決上傳大小限制的問題,但並不能解決我們遇到的問題。

error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

查看了很多博客,最終確定,這個問題是:
SSL錯誤
因爲服務器的SSL證書沒有經過第三方機構的簽署,所以才報錯。
解決方案如下:
第一步,克隆遠程倉庫時,用env命令設置GIT_SSL_NO_VERIFY環境變量爲”ture”,並同時調用正常的git clone命令。完整的命令如下:

env GIT_SSL_NO_VERIFY=true git clone https://<host_name/git/project.git

第二步,在克隆完畢的倉庫中將http.sslVerify設置爲”false”。完整的命令如下:

git config http.sslVerify "false"

點評:以上方法應該是Git處理可信任的SSL臨時證書很好的方法,第一步使用env命令保證了忽略證書錯誤是單次行爲,不會成爲默認的設置。第二次,則把忽略證書錯誤的設置限定在特定的倉庫,避免擴大該設置的適用範圍而引起的潛在安全風險。

PS:百度錯誤信息得到的結果很奇怪,可能是因爲錯誤信息長度的問題,查詢到的結果都是解決文件大小限制的,後來仔細解讀了一下錯誤信息才知道是證書的問題,查找問題之前一定要先做好準備工作。

參考文章:https://www.cnblogs.com/wangshuazi/p/9608060.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章