无法使用EGit克隆远程git存储库

时间:2012-02-28 12:22:48

标签: eclipse git egit

我正在尝试使用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.

如何克隆此回购?

17 个答案:

答案 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。

  • 转到github网络界面
  • 点击存储库
  • 点击“复制克隆网址”
  • 下方的ssh超链接
  • 点击复制图标;它显示了git@git.mycompany.com
  • 打开日食(STS,GGTS等),它正在使用git插件
  • 打开Git透视图,然后右键单击Git Repositories窗格,其中显示“粘贴存储库路径或URI”选项
  • 这成功克隆了回购。

答案 14 :(得分:0)

我遇到了同样的问题,当我刚刚在eclipse中生成新的SSH2密钥时,未设置到私钥字段...(Window --> Preferences --> General --> Network Connection --> SSH2 --> (General tab) --> Add private key...

答案 15 :(得分:0)

我意外地发现只需将协议更改为git即可使用egit 1.2修复它。

答案 16 :(得分:0)

重新启动Eclipse为我解决了这个问题。