2012-07-07 102 views
3

我試圖在本地局域網上設置一個git repo,並且迄今爲止能夠克隆,拉取,獲取等。不幸的是,當我嘗試推送,結果爲Git推送結果致命:遠程端意外掛起

致命:遠端意外掛斷。

系統日誌顯示:

git的守護[10090]: '接收包':服務 './www-dev/aptwebsite.git' 未啓用

經過一番研究,我想我可以啓用「接收包」,但我無法弄清楚。

當我嘗試:

git daemon --reuseaddr --base-path=. --export-all --verbose --enable=receive-pack 

我得到:

致命的:無法分配任何監聽主機插座(空)端口9418.

當我嘗試

git receive-pack <working directory> 

獲取:

00700000000000000000000000000000000000000000能力^ {}報告狀態刪除-ref的邊帶-64K OFS-Δ 0000^C

有什麼建議?

回答

0

一些指針可能會幫助人們遇到「git-daemon」意外掛斷的情況。

1)Git "How to" documentation on git-daemon表示「遠程掛斷」消息是一條通用消息。您應該查看服務器日誌以獲取有關可能出錯的更多信息。對於初始化設置,我還建議將--informative-errors切換到git-daemon,這會對git push命令產生更多有用的錯誤。

2)第二個問題是「無法在主機(空)端口9418上分配任何偵聽套接字」。這是來自實現git-daemon的代碼,即daemon.c。此代碼有一個函數socksetup(),它在設置套接字時遇到了這個錯誤。換句話說:這是一個網絡管道問題。確保沒有另一個守護進程運行端口9418.

3)git receive-pack並不意味着由最終用戶運行。也就是說,字符串「00700000000000000000000000000000000000000000 capabilities」{} report-status delete-refs side-band-64k ofs-delta「正是你在'working directory'是一個新初始化的Git倉庫時會得到的結果。

簡而言之:檢查來自git-daemon的日誌,並注意網絡管道。

相關問題