我正在尝试使用Egit通过https协议克隆远程git存储库。 我跟着this online tutorial。
当我插入URI:https://username@host:port/repositorypath,密码并单击“下一步”时, 我收到此错误消息:
Cannot list the available branches.
Reason:
Exception caught during execution of ls-remote command.
如何克隆此回购?
答案 0 :(得分:44)
听起来Egit正在寻找一个ssl证书并拒绝在没有它的情况下运行。一个很好的解决方案可以解决问题并远离它:
窗口→首选项→团队→Git→配置→新条目→http.sslverify
= 错误。
应该照顾它。
答案 1 :(得分:17)
将.git添加到存储库网址为我工作。
答案 2 :(得分:5)
这对我有用。
1)在Eclipse中,Window -> Preferences -> General -> Network Connections -> SSH2
(或者只是在搜索过滤器上键入SSH2)。转到"Key Management"
标签。点击"Generate RSA Key"
。您现在可以看到生成的密钥信息。复制此生成的密钥。保持此窗口打开并执行第2步。
2)转到GitHub帐户。点击profile -> Manage Account -> SSH keys -> Add key
。现在粘贴以前复制的密钥,然后粘贴"Add key"
。
3)现在回到eclipse Preferences窗口。单击"Save Private Key"
将RSA密钥保存到文件中。默认情况下,这将保存到Users\user_name\.ssh
目录。提供密码短语是可选的。
这就是全部,现在重新启动Eclipse并克隆存储库。
答案 3 :(得分:3)
在您的情况下没有帮助,但可能对其他人有帮助:我在使用方案名称 git 复制URI而不是更常见的东西时看到了这个错误。如果URI以git://
开头,请尝试将其更改为http://
或https://
。
答案 4 :(得分:3)
我收到此错误
Cannot list the available branches.
Reason:
Exception caught during execution of ls-remote command.
尝试使用SSH密钥时,bitbucket的URL可能错误:错了? SSH://git@bitbucket.com/ 用户/存储库的.git 强>
使用此URL工作(已列出分支机构):
的 git@bitbucket.org:用户/存储库的.git 强>
答案 5 :(得分:2)
我还发现在
中分配了默认的SSH2目录偏好设置>一般>网络连接> SSH2>一般> SSH2
主页是 C:\ Users \ username \ ssh 而不是默认的 C:\ Users \ username \ .ssh (带有“ssh”的前导点)
使用“浏览”按钮可以帮助您确保选择正确的目录。
如果这与您相关,则只需更改指定的目录即可消除错误消息。
答案 6 :(得分:1)
我认为此错误消息是某种通用的。我的猜测是插件只是通过底层命令捕获异常(可能是ssh,因为在ls上执行失败,这可能是连接成功后的第一个命令)并显示它自己的消息(“执行ls命令”) 。因此很难给出有效的答案。我尝试过丹尼尔的回答,但这对我没用。
所以我深入挖掘并尝试通过
手动克隆存储库git clone username@host.path_to_repo
它很有魅力。
通过这样做,您可以测试您的身份验证方法是否符合预期,.ssh/config
也是如此。
知道我可以连接我认为错误必须在Eclipse / EGit中的某个地方。例如,我认为项目导入向导中的身份验证方法可能令人不安。 (在路径前放置一个ssh://可能会干扰.ssh/config
- 无论如何:nope。)
或者Eclipse的SSH设置可能是错误的:Window --> Preferences --> General --> Network Connection --> SSH
。哦,我的一些钥匙没有列出。添加并重新启动:相同的错误 - >挫折。所有其他设置看起来很好。我找不到任何合理的理由。
此外,我的连接并不是最好的,所以每次连接尝试都需要花费很多时间。我拼命地重新检查Window --> Preferences --> Team --> Git -->
和KABAMM!我发现我实际上最初认为它可能是麻烦制造者的设置。
Remote connection timeout (seconds): 30
正如我说的那样,而不是闪电般快,我感觉更像是一只蜗牛和git-plugin在服务器响应之前就已经放弃了。至少这是我的假设'因为我已经将值设置为120
我有更多时间喝茶,当我回来时,所有分支都准备克隆:)
答案 7 :(得分:1)
我的答案是针对相同的例外,但是使用SSH协议进行克隆。
我让它在一个工作区中工作,而不是另一个工作区。我还可以从命令行克隆存储库,因此很清楚Eclipse配置问题。
我确实比较了两个工作区中的配置文件。解决它的问题是 .metadata.plugins \ org.eclipse.core.runtime.settings \ org.eclipse.jsch.core.prefs
SSH目录有一条路径: SSH2HOME = C \:\ Users \用户名\ SSH
正确的路径应该在ssh前面有一个点: SSH2HOME = C \:\ Users \用户名\的.ssh
不知道如何搞砸了,但要确保ssh home的路径是正确的。
答案 8 :(得分:1)
如果您使用基于Debian的操作系统,可以尝试使用ssh服务来克隆Git存储库。
它对我很好。
谢谢, Sengottuvel
答案 9 :(得分:1)
就我而言,它是Windows Vista上的两步解决方案。
我使用的是id_rsa证书,因此我需要更改“首选项”中的位置>一般>网络连接> SSH2>一般> SSH2指向.ssh而不是ssh,正如之前的解决方案中所指出的那样。除此之外,我还必须向所有人提供读取权限(右键单击Windows资源管理器中的文件)。我之前拒绝访问Everybody,因为我的命令行ssh客户端在没有这样做的情况下拒绝工作。
希望有所帮助。
答案 10 :(得分:1)
在eclipse中生成RSA ssh密钥时: Windows>偏好>一般>网络..> SSH2> 关键管理标签..
您应该保存为私钥,然后继续。这解决了我的问题。
答案 11 :(得分:0)
这是我的一个愚蠢的错误,我希望没有其他人能够遇到。
在主机字段中,我在一开始就包含了 www ,因此完整的 URI 类似于https://www.github.com/user-name/repo-name.git
它应该只有https://github.com/user-name/repo-name.git
答案 12 :(得分:0)
我解决了此问题,将Active Provider更改为Direct in Network Connections。
答案 13 :(得分:0)
我在Eclipse中执行了以下步骤,即使在使用mylaptop的Github设置ssh密钥后,我也遇到了Auth Fail和意外异常的问题。我在Windows>>中指出了正确的.ssh路径。偏好设置...>>网络..>> SSH2。
答案 14 :(得分:0)
我遇到了同样的问题,当我刚刚在eclipse中生成新的SSH2密钥时,但未设置到私钥字段...(Window --> Preferences --> General --> Network Connection --> SSH2 --> (General tab) --> Add private key...
)
答案 15 :(得分:0)
我意外地发现只需将协议更改为git即可使用egit 1.2修复它。
答案 16 :(得分:0)
重新启动Eclipse为我解决了这个问题。