Intellij 无法从 git 获取数据。

我已经克隆了一个现有的git仓库。在命令行中使用pull命令时,Git工作正常。然而,当我尝试从Intellij中进行相同操作时,它显示:
Fetch failed. Fatal : Could not read from remote repository.

VCS控制台日志显示:
git fetch --progress --prune origin
java.lang.RuntimeException: Invocation failed Server returned invalid Response.
    at org.jetbrains.git4idea.ssh.GitSSHXmlRpcClient.askPassword(GitSSHXmlRpcClient.java:176)
    at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:265)
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:157)
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137)
Caused by: java.io.IOException: Server returned invalid Response.
    at org.apache.xmlrpc.LiteXmlRpcTransport.sendRequest(LiteXmlRpcTransport.java:243)
    at org.apache.xmlrpc.LiteXmlRpcTransport.sendXmlRpc(LiteXmlRpcTransport.java:90)
    at org.apache.xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:72)
    at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:194)
    at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:185)
    at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:178)
    at org.jetbrains.git4idea.ssh.GitSSHXmlRpcClient.askPassword(GitSSHXmlRpcClient.java:170)
    ... 3 more
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

我正在使用SSH密钥对进行身份验证。对此的任何帮助都将不胜感激。


IntelliJ本身是否有一个部分可以用来添加/注册SSH密钥? - saiarcot895
它确实提供了选择本地和内置之间的ssh可执行文件的选项。这是你所指的吗? - mindreader
而将其更改为本地语言确实有所帮助。我一直使用Windows的内置选项,但对于Ubuntu来说,似乎只能选择本地语言。 - mindreader
啊,好的。一个基本(可能不准确)的解释是,当你在终端中运行git时,它知道SSH密钥所在的目录(或者只是调用ssh来获取密钥)。内置的SSH工具不知道你的密钥在哪里。 - saiarcot895
那很有道理。我想知道它在Windows上是如何工作的。顺便说一下,谢谢你的帮助 :) - mindreader
1个回答

对于IntelliJ 13/14,
1. 点击文件->设置。键盘快捷键是Ctrl+Alt+S。 2. 搜索"版本控制"。 3. 在"版本控制"下选择"Git"。 4. 在SSH可执行文件下拉菜单中选择Native。

2这对我的同事也适用,他在Win7 Pro上遇到了同样的问题,但这只是一个解决方法,而不是解决方案。您有任何想法为什么它在IDEA 13.0中有效,但在13.1中不再有效吗?在我的机器上(也是Win7 Pro,IDEA 13.1.1 Ultimate),它与集成的SSH很好地配合使用。 - kriegaex
8这对我来说没用。。 - AO_
f00644 - 如果在命令行上对您有效,那么它必须能够正常工作。 - Erik Kaju
同样适用于PhpStorm - luukvhoudt
同样适用于PyCharm。 - törzsmókus
谢谢,这在我的Ubuntu 16.04上的WebStorm中起作用了。有一天我突然遇到了“密钥交换未完成,连接已关闭。”和“无法协商,提案不匹配。”的问题,改为使用本地方式解决了,因为终端中的git pull命令可以正常工作。 - Benno