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

问题描述 投票:27回答:17

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

我怎样才能克隆这个回购?

eclipse git egit
17个回答
44
投票

听起来Egit正在寻找一个ssl证书并拒绝在没有它的情况下运行。一个很好的解决办法让问题消失并远离:窗口→首选项→团队→Git→配置→新条目→http.sslverify = false。

那应该照顾它。


1
投票

就我而言,它是Windows Vista上的两步解决方案。

我正在使用id_rsa证书,因此我需要更改首选项>常规>网络连接> SSH2>常规> SSH2中的位置以指向.ssh而不是ssh,如前面的解决方案中所指出的那样。除此之外,我还必须向所有人提供读取权限(右键单击Windows资源管理器中的文件)。我以前拒绝访问Everybody,因为我的命令行ssh客户端拒绝工作而没有这样做。

希望有所帮助。


1
投票

当您在eclipse中生成RSA ssh密钥时:Windows> Preferences> General> Network ..> SSH2> key Managment选项卡..

您应该保存为私钥然后继续。这解决了我的问题。


0
投票

重启Eclipse解决了这个问题。


0
投票

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


0
投票

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


0
投票

我在Eclipse中执行了以下步骤,即使在使用mylaptop的Github设置ssh密钥后,我仍遇到Auth Fail和意外异常的问题。我在Windows >> Preferences ... >> Network .. >> SSH2中指出了正确的.ssh路径。

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

0
投票

我解决了这个问题,将Active Provider更改为Direct in Network Connections。


0
投票

这是我的一个愚蠢的错误,我希望没有其他人能够遇到。

在Host字段中,我在一开始就包含了www,因此完整的URI看起来像https://www.github.com/user-name/repo-name.git

什么时候应该只有https://github.com/user-name/repo-name.git


18
投票

将.git添加到存储库url对我有用。


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目录。此处提供Passphrase是可选的。

这就是全部,现在重启Eclipse并克隆存储库。


3
投票

在你的情况下没有帮助,但可能对其他人有帮助:我在使用方案名称git而不是更常见的东西复制URI时看到了这个错误。如果URI以git://开头,请尝试将其更改为http://https://


3
投票

我收到了这个错误

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


2
投票

我还发现了分配的默认SSH2目录

首选项>常规>网络连接> SSH2>常规> SSH2

Home是C:\ Users \ username \ ssh而不是默认的C:\ Users \ username \ .ssh(带有“ssh”的前导点)

使用“浏览”按钮可以帮助您确保选择正确的目录。

如果这与您相关,则只需更改指定的目录即可消除错误消息。


1
投票

我认为这个错误消息是某种通用的。我的猜测是插件只是通过底层命令捕获异常(可能是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我有更多时间喝茶,当我回来时,所有的分支都准备克隆:)


1
投票

我的答案是针对相同的例外,但是使用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的路径是正确的。


1
投票

如果您使用基于Debian的操作系统,则可以尝试使用ssh服务来克隆Git存储库。

它对我很好。

Thengs,Sengotvuel

© www.soinside.com 2019 - 2024. All rights reserved.