2012-10-16 40 views
1

我已經在本地服務器上建立了一個gitstack回購協議,我也註冊了一個免費的github帳戶,以查看它的相似之處。Egit的傳輸錯誤

但是當我嘗試從任我的本地庫或git的樞紐倉庫克隆一個倉庫,我得到這個錯誤:

Transport Error 
Cannot List the available branches 
Reason: 
Exception caught during execution of ls-remote command 

這是什麼意思,我如何去解決這個問題呢?

+0

你能夠在命令行中推送到你的倉庫嗎? – Ami

+0

當我嘗試使用git bash嘗試推送到github存儲庫時,似乎沒有出現任何錯誤,但它並未將其推入,而只是像運行該命令一樣,並且不會讓我執行任何操作。 – MikeyJ

+0

嘗試使用運行命令推送它時,是否收到任何錯誤或異常? – Ami

回答

1

在Egit出現這個問題後,我回到使用GitBash嘗試創建,推送和拉取存儲庫。然後我得到了這個錯誤:

的Git Bash的錯誤:

fatal: http://xx.xx.x.xxx/mjtest.git/info/refs not found: did you run git update-server-info on the server? 

例如:It錯誤:

Transport Error 
Cannot List the available branches 
Reason: 
Exception caught during execution of ls-remote command 

我發現,要解決這兩個GitBash和例如:It錯誤是創建一個空名爲git-daemon-export-ok的文件,並將其直接放入服務器上存儲庫的xxxx.git根目錄中。

解決辦法解釋:

我成立了一個gitstack叫庫和mjtest自己創建一個新的用戶名和密碼,我自己添加到存儲庫具有讀寫訪問。

這是我那麼做GitBash:

設置我的本地回購:

git config --global user.name "XXXXXXXX" 
git config --global user.email XXXXXXXX 
mkdir ~/mjtest 
cd ~/mjtest 
git init 
touch README 

然後,我創建的空文件:

touch git-daemon-export-ok 

所以現在我們有一個本地存儲庫有一個名爲README的文件和我們的git-daemon-export-ok文件。 我們現在需要複製git-daemon-export-ok文件並將其直接放入服務器中的mjtest.git文件夾中。 一旦完成,git-daemon-export-ok文件可以從本地存儲庫中刪除,因爲它只需要在服務器上。

添加,Commiting和推進:

git add README 
git commit -m 'first commit' 
git remote add origin http://XX.XX.X.XXX/mjtest.git 
git push origin master 

這應該工作,你應該能夠進入到您的gitstack服務器,看看你的第一次提交。

然後我回到Egit並克隆了http://XX.XX.X.XXX/mjtest.git存儲庫,它工作。

現在既推動和拉動GitBash和Egit的工作!