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