Egit传输错误

时间:2012-10-16 08:28:00

标签: git github egit zend-studio gitstack

我在本地服务器上设置了一个gitstack repo,我还注册了一个免费的github帐户,只是为了看看它是什么样的。

但是当我尝试从我的本地存储库或git hub存储库克隆存储库时,我收到此错误:

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

这是什么意思,我该如何解决这个问题?

2 个答案:

答案 0 :(得分: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?

Egit错误:

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

我发现GitBash和Egit错误的解决方案是创建一个名为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文件可以从本地存储库中删除,因为它只需要在服务器上。

添加,提交和推送:

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中推送和拉动工作!

答案 1 :(得分:0)

请看一下 Can't clone remote git repository with EGit有几个可能的原因。在我必须处理该错误消息的情况下,它是在Eclipse中给出的错误的.ssh目录或者在ssh目录中完全缺少SSH密钥。

相关问题