2011-10-09 81 views
11

我試圖把我的代碼放到github上,但幾乎每次我遇到這個錯誤RPC失敗;結果= 28,HTTP代碼= 0

error: RPC failed; result=28, HTTP code = 0 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 

真是太煩人。任何人都知道如何解決此問題?

更新經過Google搜索,我看到運行git config --global http.postBuffer 524288000可以解決問題。但即使在我執行了這個命令後,我仍然遇到了這個問題。

回答

27

使用git://或混帳+ SSH://,沒有使用https

+0

不錯。這工作。我使用了https,因爲由於某些原因,ssh無法與我的辦公代理一起使用。上面的錯誤只發生在我在我家工作的時候。 由於遠程URL可以很容易地從git切換到https,反之亦然,這個解決方案非常棒。 謝謝。 –

+3

有沒有解釋爲什麼https網址發生錯誤? –

+0

對不起,沒有發現從github男孩,但麻煩追溯到過去很長一段時間用單一的配方修復 –

0

我遇到了同樣的問題(後面的代理工作,無法訪問的git://)

也許這取決於在網絡上的情況?

做了「推」更多次,它適用於我。 (推總共5次,2次成功)

順便說一句,我使用的「https_proxy」環境變量,而不是「HTTP_PROXY」

0

即錯誤代碼是客戶端上的超時錯誤。儘管我懷疑服務器端正在按照消息的建議關閉。爲了試圖讓你可以嘗試設置環境變量GIT_CURL_VERBOSE=1爲您推送如信息

GIT_CURL_VERBOSE=1 git push origin

這可以給你的是否是客戶端超時或服務器斷開,一個指示是原錯誤。你可能會做很多事情來確保你並不總是遇到這個錯誤。

  1. 檢查服務器端的超時,是否可以控制它。它們可能太小了。這取決於服務器的實現。
  2. 檢查您的存儲庫中的大型文件,特別是二進制文件。這些可以被不同地處理。
  3. 確保您不會無意中設置http.lowSpeedLimit,http.lowSpeedTime:它們應該在默認情況下關閉(通過查看代碼)。

大的庫

對於點2。有一些事情,如果你懷疑你是推包是大對象,你可以做。這個博客帖子是關於這個問題相當詳細:

http://blogs.atlassian.com/2014/05/handle-big-repositories-git/

我不認爲http.postBuffer是真的在這裏的解決方案。

0

通常這些錯誤情況和代碼是由於網絡配置錯誤或目前不可靠的互聯網連接。通常在幾次嘗試後,一切都應該恢復正常。如果多次嘗試後問題仍然存在,請嘗試不同的連接協議

0

在接受的答案中提到,沒有必要在這裏使用SSH。最近陷入了同樣的問題。提高的Http默認1 MIB緩衝區大小爲較大的值:

git config --global http.postBuffer 1048576000 

然後嘗試git push remote branch_name

希望它有助於某人。

相關問題