1

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

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

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

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

4

3 回答 3

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 中都可以进行推送和拉取工作!

于 2012-10-19T11:23:06.220 回答
0

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

于 2012-10-18T18:39:56.013 回答
0

克隆远程存储库时还有另一个与传输相关的可能错误。

从还没有任何分支或标签但有其他引用的存储库克隆会导致“ remote transport reported error”,这已在 Git 2.36(2022 年第二季度)中更正。

请参阅Jonathan Tan ( ) 的提交 dccea60(2022 年 1 月 24 日(由Junio C Hamano 合并 -- --d991df4 提交中,2022 年 2 月 9 日)jhowtan
gitster

clone:支持不寻常的远程参考配置

签字人:Jonathan Tan

当使用协议 v0 或 v1 克隆无分支和无标记但非无引用远程时,Git 调用transport_fetch_refs()空引用列表。
这会使克隆失败并显示消息“ remote transport reported error”。

Git 应该避免调用transport_fetch_refs(),就像它在遥控器没有反射的情况下一样。
因此,请教 Git 这样做。

在协议 v2 中,这不会发生,因为客户端传递了 ref-prefix 参数,这些参数会过滤掉 ref 广告中的非分支和非标签,从而使远程显示为空。

请注意,此错误涉及逻辑builtin/clone.c,仅影响克隆,不影响获取。

于 2022-02-13T14:59:24.573 回答