我正在通过一个适合我的IDE开发学校项目:IntellIJ。
为了提交我的项目(通过git),我创建了一个Git存储库,添加了正确的远程密码,并尝试在master分支上推送我的工作(在成功添加/提交所述工作之后)。
起初我收到以下错误消息:
推送失败:失败并显示错误:致命:无法从远程存储库读取。
然后我进入我的设置并将我的SSH可执行文件设置为 Native 以尝试解决此问题。但它没有用,即使我输入的密码是正确的,我似乎也无法将我的项目推到这个遥控器上。
这是我的.git/config
文件:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@git.epitech.eu:/kade_c/Java_jcoinche_2016
fetch = +refs/heads/*:refs/remotes/origin/*
我哪里出错了?
答案 0 :(得分:14)
转到设置>版本控制> Git的。 确保SSH可执行文件设置为“Native。”(如果已经是,请将其切换为“Built-in”,应用它,然后再次切换回“Native”。)。
如果它仍然无效,并且您安装了GitLab插件。尝试停用它并重新启动IDE。此处报告的问题:https://youtrack.jetbrains.com/issue/TW-47704
答案 1 :(得分:4)
我遇到了同样的问题,使用私有github repo;我所做的是改变远程网址
url = https://github.com/username/repository.git
到
url = https://git.epitech.eu/kade_c/Java_jcoinche_2016
。
两者都是有效的远程URL,一个用于HTTP,用于SSH,但第三方程序可能会在配置文件中从一个更改为另一个。这件事发生在我身上,值得一试。
在我的情况下,当我更改它时,它有效,因为我没有设置通过SSH使用它,这通常需要额外的配置,所以通常HTTPS版本是默认的,除非有人进行额外的设置。
因此,在您的情况下,也许将该行更改为
{{1}}?
答案 2 :(得分:2)
根据我的经验,这似乎最常由具有密码短语的SSH密钥引起,JetBrains IDE没有提示密码短语的机制,因此无法正确进行身份验证。我发现解决此问题的唯一解决方案是使用没有密码的密钥或使用HTTPS远程。
注意:您可能遇到的另一个问题是与Intellij具有散列known_hosts
兼容性。请参阅此答案以解决此问题:https://stackoverflow.com/a/28294279/1311745