导入Eclipse时出现“无效的远程:来源”错误(m2eclipse,eGit)

时间:2012-07-17 15:02:04

标签: eclipse git m2eclipse egit

在Eclipse中,当我尝试从存储库导入项目时(文件>导入> Maven>从SCM检出Maven项目)我选择'git'(安装了eGit),填写ssh://。 ..地址(设置了所有密钥和访问权限),最后输入rsa和...的密码

Invalid remote: origin: Invalid remote: origin

根据这一点:http://youtrack.jetbrains.com/issue/IDEA-77239在地址末尾写.git应该可以解决问题但实际上并没有解决问题。

我完全不知道如何进一步解决它。有什么想法吗?

编辑:我使用的是Windows。这似乎是要添加的重要信息。

5 个答案:

答案 0 :(得分:11)

当存在潜在的SSH身份验证问题时会发生此错误,例如git远程服务器上的公钥错误或者git远程服务器更改了其SSH主机密钥。

Eclipse将使用您在Preferences中指定的.ssh目录 - >一般 - >网络连接 - > SSH2用于其ssh配置。将其设置为“{您的默认用户目录} .ssh \”。

要解决问题,首先需要确定您用于Git的ssh客户端。它存储在GIT_SSH环境变量中。右键单击“计算机”(Windows 7),然后选择“属性” - >高级系统设置 - >环境变量。

如果GIT_SSH包含plink.exe的路径,则表示您使用的是PuTTY堆栈。

  • 要获取公钥,请打开PuTTYgen.exe,然后加载私钥文件(* .ppk)。列出的公钥应与git远程服务器上的公钥匹配。
  • 要获取新主机密钥,请打开新的PuTTY.exe会话,然后连接到git @ {git repo host}。
  • 单击“确定”并回答“是”以存储新密钥。
  • 收到登录提示后,您可以关闭PuTTY窗口。新密钥已存储。
  • 重启Eclipse。

如果GIT_SSH在“Git for Windows”树中包含“ssh.exe”的路径,那么您正在使用Git for Windows的OpenSSH。

  • 将%HOME%设置为您的默认用户目录(如Eclipse中所列;请参见上文)。
  • 将%HOMEDRIVE%设置为默认用户目录的驱动器号。
  • 将%HOMEPATH%设置为%HOMEDRIVE%
  • 上默认用户目录的路径
  • 要获取公钥,请在文本编辑器中打开文件%HOMEDRIVE %% HOMEPATH%/。ssh / id_rsa.pub(或id_dsa.pub)。列出的公钥应与git远程服务器上的公钥匹配。
  • 要获取新主机密钥,请运行:cmd.exe
  • 运行Git Bash
  • Ctrl-C键
  • 在bash提示符下,运行/c/path/to/git/for/windows/bin/ssh.exe git @ {git remote host}。
  • 键入yes以接受新密钥。
  • 登录提示后,键入:ctrl-c
  • 关闭cmd.exe窗口
  • 重启Eclipse。

最后,如果您仍然无法使用外部ssh客户端,请删除GIT_SSH环境变量并将HOME环境变量设置为Windows上的默认用户目录。如果没有GIT_SSH变量,EGit将使用其内部ssh客户端(java)。它将使用您在上面指定的.ssh目录作为其SSH配置目录。

注意:如果您有适用于Windows的Git,您可以使用其工具为.ssh目录创建SSH密钥对:

  • 将%HOME%设置为您的默认用户目录(如Eclipse中所列)。
  • 将%HOMEDRIVE%设置为默认用户目录的驱动器号。
  • 将%HOMEPATH%设置为%HOMEDRIVE%
  • 上默认用户目录的路径
  • 运行Git Bash
  • Ctrl -C
  • 运行:ssh-keygen.exe -t rsa -b 2048
  • 保存为默认文件名
  • 选择密码短语或在没有密码短语的情况下保存。如果使用密码保存,每次从git远程服务器推送或拔出时,Eclipse都会提示您输入密码。
  • 关闭Git Bash

您还可以使用Eclipse的SSH2 Preference窗格中的GUI来管理主机和密钥。

答案 1 :(得分:1)

使用Eclipse / Indigo和Maven插件:
- 从SCM中查出Maven项目
- 假设安装了git SCM插件,从SCM URL中选择“git”:弹出
-enter,例如,https://@github.com//.git
拥有@和“.git”很重要 - 假设项目是私有的,系统将提示您输入密码
这应该足以继续前进。

答案 2 :(得分:0)

检查你的.git / config这个错误可能发生在你的遗失" .git"在您的原始网址末尾

[remote" origin"]     url = https://some.domain.com/repo/name

应该是

[remote" origin"]     url = https://some.domain.com/repo/name.git

答案 3 :(得分:0)

可能你的git服务器已经移动了吗?

enter image description here

答案 4 :(得分:0)

由于以下原因,可能会发生此错误-

  1. 检查存储库的网址,最后应添加一个'.git'。
  2. 如果您的网络配置已更改,请确保您具有正确的代理配置,如果是受保护的git存储库,请确保提供正确的凭据。 (更改凭据时,以及配置了不正确的代理时,都会出现此错误。)

PS-要检查网络设置,请转至Windows->首选项->常规->网络连接。另外,如果不确定网络设置或代理配置,则可以尝试在直接和手动网络设置之间切换。