Eclipse Git(EGit)无法克隆Git存储库。

3
基本上,我找不到可行的URI用于EGit克隆Git存储库对话框。 示例 使用git协议,就像我的命令行clone操作一样,我尝试了各种不令人满意的URI。 有时,我无法单击下一步按钮:
git://af-blackpearl.site
git:af-blackpearl.site:myproject

在其他情况下,我会尝试(并且我可以点击“下一步”按钮):
git:af-blackpearl.site/myproject[.git] (with or without extension)

但是,我得到了:
Cannot list the available branches.
Reason:
git:af-blackpearl.site/rest-server:ProxyHTTP: java.io.IOException:
 proxy error: Service Unavailable

当我尝试执行以下操作时:
git://af-blackpearl.site/myproject[.git] (with or without extension)
git://af-blackpearl.site/

我经常会得到类似以下的内容:

我总是得到这样的东西:

Cannot list the available branches.
Reason:
git://af-blackpearl.site/myproject: Connection refused

感谢您提供的任何建议。
有用的背景信息:
- 使用 gitolite 管理 Git。 - Linux 主机上的 Git 远程。 - 我的“客户端”主机是运行 Eclipse Helios 的 Linux。 - 一直在使用命令行使用 Git,效果很好。
这个问题专门涉及使用 EGit(Eclipse 插件)对话框。它不是关于 Git、使用 Git 或安装插件的问题——这些都似乎没有问题。简单地说,我长期以来一直在使用命令行使用 Git,现在只是想尝试使用 Eclipse-Git 集成。
在 /etc/hosts 中,我有一行:
xxx.xxx.xxx.xxx   af-blackpearl.site

针对我们本地Git远程仓库。虽然我通过gitolite-admin项目管理Git,但我想在af-blackpearl.site上克隆的项目(物理文件系统)路径为

/home/git/repositories/myproject.git

从命令行中,我通常使用以下命令从origin克隆该项目,并且一直保持成功:

$ git clone git:af-blackpearl.site:myproject

尽管查看了EGit(由Google托管)文档并进行了大量搜索,但我仍然无法将其适应于EGit Clone Git存储库对话框(通过以下方式到达):

File -> Import... -> Git -> Projects from Git -> Clone

连接远程服务器:

russ@russ-elite-book:~> ssh git@af-blackpearl.site
PTY allocation request failed on channel 0
hello russ, the gitolite version here is v2.0.1-2-g836faf9
the gitolite config gives you the following access:
     R   W     NavigationServlet
     R   W     gitolite-admin
     R   W     ivysample
     R   W     myproject
     R   W     seam-catch
Connection to af-blackpearl.site closed.

这个问题被投票否决而没有写下评论,真的让我很烦恼。这是否意味着投票者有解决方案,但却没有提供呢? - thomasmalt
它可能被某个深爱 Git 的人所踩,他们无法容忍别人发现它的问题。如果有一个实际的解决方案,这将更有意义。 - SMBiggs
5个回答

5
我也遇到了这个问题。但是我在这里找到了解决方案:http://www.vogella.com/articles/EGit/article.html#clone_respository 简而言之,写URI: git@ yourhost.com:repository,而不是git://。 这会使eclipse连接为git用户而不是您的用户名,但仍然使用您的私钥。
我没有设置任何协议,就像文章中没有设置一样。
编辑:现在我实际上发现 "J-16 SDiZ" 发布了几乎相同的答案。 尽管当时我没有明白。

我很抱歉没有及时回答这个问题。我放弃了eGit,转而使用命令行,因为我本来就是一个命令行的人。后来,我的一个同事找到了解决方法,但看着他在团队菜单和对话框中浏览,让我坚定了继续使用命令行的想法,虽然这样更需要"打字",但步骤却更少。是的,J-16 SDIZ,你给出了原始问题的答案。谢谢。 - Russ Bateman

2
如果您正在使用SSH协议(我看到您使用了“ssh git@af-blackpearl.site”),则应选择协议中的“ssh”。仓库名称为myproject(没有.git部分)。

我可能输错了什么,但我向您保证我已经尝试了各种URI、协议、用户名等的变化。我还检查了SSH2设置、本地密钥文件等。但它就是不起作用。谢谢。 - Russ Bateman
非常抱歉之前没有认出这个答案。我放弃了eGit,转而使用命令行,并且不再关心它。此外,我们已经在18个月后从我设置的Git服务器转移到了github.com。在第一种情况下,不能使用后缀.git。在第二种情况下,它是必需的。再次感谢! - Russ Bateman

0

我曾经遇到过同样的问题,我检查了SSH2的eclipse配置,并发现它正确地指向了“~/.ssh”

问题在于我没有任何密钥(id_rsa和id_rsa.pub),我添加了它们,再次尝试,成功地拉取了我的Github存储库。


0

我曾经遇到你描述的同样问题,通过EGit对远程git存储库进行连接时出现了问题。

我最终做的是仍然使用命令行git工具来克隆repo等,然后将repo作为本地repo导入Eclipse。就我所知,这使得EGit的所有功能都能完美地发挥作用,并且我已经使用Eclipse添加、提交、推送和更改分支,一切都运行良好。

我仍然使用命令行工具来完成很多任务,这让我在两个世界中获得了最佳选择。但最初我非常苦恼,因为我无法直接从EGit中克隆远程存储库。

我知道这不是你问题的直接答案,但Eclipse与EGit是完全可用的,即使不从EGit内部远程克隆。


我打赌这就是答案。EGit社区论坛对我的问题置之不理了一个星期(所以我在这里发帖)。我会尝试你建议的混合方法。谢谢。 - Russ Bateman
肯定有更好的解决方案,对吧?我的意思是,几乎每个项目都需要这样做。 - SMBiggs
是的,我知道。 :) 但我还没有找到更好的方法。虽然已经有一年没看了。 - thomasmalt

0

您可能想尝试使用完整的服务器路径来访问您的git存储库。

我正在使用git实现我的第一个项目。我正在使用由我的共享Linux托管计划(1and1)提供的git服务。

经过多次尝试,我似乎能够找到git存储库,如果我使用完整的服务器路径。

在我的情况下:

我的git存储库创建在/project

唯一能让我找到git存储库的路径是:

/homepages/foo/bar/htdocs/project/.git <- 这是1and1的完整服务器路径。

我正在使用SSH协议。

这并没有意义,因为当我ssh到我的帐户时,我会进入我的帐户主目录。但是我尝试的任何其他组合都不起作用。


如果你好奇我用来访问共享主机中的git仓库的确切配置,请查看这个问题 -> 在Eclipse EGit中使用1and1共享Linux服务器克隆1and1 git仓库时出现的问题

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接