2012-12-12 61 views
5

我不能推到github上。我是能推變化不大,但是這一次,它掛起它寫在這之後:git掛在推

git push origin master 
Counting objects: 22, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (12/12), done. 
Writing objects: 100% (12/12), 1.51 KiB, done. 
Total 12 (delta 8), reused 0 (delta 0) 

在我的Ubuntu流程管理器,我看到,當我試圖把一些SSH掛起,它是:SSH的git @ github.com的git - 接收包「XXX/yyy.git」

當我嘗試我的終端上直接運行這個命令,現在它掛起後寫的:

0078...7d4 refs/heads/master report-status delete-refs side-band-64k quiet ofs-delta 
0000 

所有其他變薄工作得很好,但我無法推動。可能是什麼原因?

附加信息:我重新創建了git文件,並將遠程從SSH更改爲HTTP。現在,當我試圖把我得到這個錯誤:

Counting objects: 17, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (9/9), done. 
Writing objects: 100% (9/9), 1.19 KiB, done. 
Total 9 (delta 6), reused 0 (delta 0) 
error: RPC failed; result=52, HTTP code = 0 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 
Everything up-to-date 

的額外信息2:我已經測試過了幾個小時,它看起來像我的網絡連接問題。我試圖從另一個連接推送,並且運行得非常好。這背後的原因是什麼?順便說一句,調制解調器的防火牆被禁用。

+0

我相信你的問題是這樣的:[GIT不可能推後添加](http://stackoverflow.com/questions/14123170/git-impossible-to-push-after-add)。嘗試一下推薦的解決方案。 – IQAndreas

回答

-2

檢查您的網絡連接上傳速度是否太慢。也許你只是需要時間。你可以監視你的網絡連接,看看你是否向上遊發送數據?

+2

我在不到5秒的時間內向Gmail上傳了一張300 kb的圖片,我認爲我的網絡連接速度太慢。有沒有辦法監控git上傳?我可以試試看。 – gzg

+1

檢查您的網絡連接是否有MTU問題。如果您將計算機界面的MTU降至1280,您是否可以推送? –

0

在我的情況下,問題與存儲庫的訪問權限有關。在添加寫權限之後,我只讀了訪問權限,問題解決了。

+0

不知道爲什麼這個投票。這爲我解決了這個問題,值得仔細檢查遠程端第一人的文件系統權限。 (不知道爲什麼沒有錯誤的過程。) – Adambean

-1

下面首先運行:

env | grep SSH_ASKPASS 

如果你什麼也得不到,那麼你必須設置值。如果您使用GNOME,發現這通常是通過執行以下操作中發現的gnome-ssh-askpass.sh位置:

find/| grep gnome-ssh-askpass 

,它通常是在/etc/profile.d目錄中找到。通常情況下,它會自動加載,但由於某種原因它沒有。所以運行以下命令:

source /etc/profile.d/gnome-ssh-askpass.sh 

(或者,你可以chmod +x文件並直接運行它,它給你)

完成後,驗證是否有用於env | grep SSH_ASKPASS和值,那麼混帳推將再次工作。

如果你沒有找到gnome-ssh-askpass.sh文件,然後做一個yum search ssh-askpass和安裝包(通常yum install openssh-askpass

對於apt-get,做同樣的事情假設你使用GNOME,但如果KDE,那麼也許有a kde-ssh-askpass ??

8

我花了最近5個小時試圖解決類似的問題。首先,你是通過隧道還是VPN連接運行?

原來,隧道的MTU(最大傳輸單元)可能配置錯誤,因爲網絡路徑中間的某些路由器只能支持較低的MTU,但VPN /隧道軟件不知道這一點,導致丟包。

那麼快答案是嘗試降低您的連接的MTU:

sudo ifconfig eth0 mtu 1300 

這裏我設置MTU爲eth0接口,與你實際使用訪問接口取代git服務器。默認的MTU通常是1500.

對於OpenVPN,我不得不更新tun0接口。在OpenVPN配置中有一個更好/更可靠的方法來使用它:使用link-mtu <n>mssfix選項。

+1

+1因爲你剛剛救了我幾個小時。我無法解決的是爲什麼我的端點之間的MTU發生了變化。 – DorianFM