git与IntelliJ IDEA:无法从远程存储库读取

自从几个星期以来,我无法从远程存储库中拉出或推送数据。 我认为升级到IntelliJ IDEA 14时会发生这种情况,但我也可以重现IDEA 13.1.5的问题。

工具提示称“获取失败致命:无法从远程存储库读取”。

并在版本控制选项卡中读取异常

14:02:37.737: cd C:devproject
14:02:37.737: git -c core.quotepath=false fetch origin --progress --prune
java.io.IOException: Padding in RSA public key!
    at com.trilead.ssh2.signature.RSASHA1Verify.decodeSSHRSAPublicKey(RSASHA1Verify.java:37)
    at com.trilead.ssh2.KnownHosts.addHostkey(KnownHosts.java:98)
    at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:414)
    at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:440)
    at com.trilead.ssh2.KnownHosts.addHostkeys(KnownHosts.java:137)
    at org.jetbrains.git4idea.ssh.SSHMain.configureKnownHosts(SSHMain.java:462)
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:155)
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137)
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

使用IntelliJ的内置终端,执行git -c core.quotepath=false fetch origin --progress --prune ,它的工作原理与它应该的一样。

根据stacktrace,我的KnownHosts似乎有问题,所以我从~/.ssh/known_hosts删除了我们的git服务器,希望IntelliJ能够再次插入它。 但是,通过UI进行更新时,问题仍然存在,并且在known_hosts没有写入新条目; 考虑一些缓存的文件,我重新启动了IntelliJ,但没有成功。

当从终端进行另一个git fetch ,现在我被问到是否要永久添加服务器。 之后,它再次被写入known_hosts ,但IntelliJ仍然不会让我更新我的项目。

我还没有发现任何有关这种行为的在线,所以我想这不是新的IntelliJ版本的已知错误。 不过,我更新到14.0.2,但问题仍然存在。

IntelliJ被配置为使用内置的SSH可执行文件。

有人有什么线索可能是这里的问题?


settings-->Version Control-->Git ,然后在SSH可执行文件下拉菜单中选择Native

版本控制:Git:SSH可执行文件:用于当前项目

如果这没有帮助,请确保您的本地sshgit客户端是足够新的版本。


转到首选项>版本控制> Git。 确保SSH可执行文件设置为“Native”(如果已经存在,将其切换为“Built-in”,应用它,然后再切换回“Native”。)。

如果这不能解决您的问题,我会建议下载Git客户端,例如GitHub客户端(免费桌面应用程序),并尝试通过应用程序同步您的项目。 然后回到IntelliJ并检查它是否工作。


我开始获取最近使用我的github存储库时Could not read from remote repository错误Could not read from remote repository 。 我的规格:

  • IntelliJ IDEA 2017.3.4(旗舰版)
  • 设置 - >版本控制 - > Git - > SSH可执行文件 - >内置
  • Fedora Linux
  • 在这里输入图像描述

    当然,这些问题只会在尝试从IDE中推/拉/提取等时才会发生 - 从像命令行一样工作的命令行执行相同的命令。

    解决方案,为我工作

    我不想从Built-In SSH可执行文件切换到本Native ,主要是因为我的本地SSH客户端在我尝试与远程存储库同步时要求输入密码。

    我通过从SSH远程URL切换到HTTPS URL来解决此问题。 根据这个GitHub帮助页面 - 建议使用HTTPS URL而不是SSH。

    将远程URL从SSH更改为HTTPS

    在IntelliJ IDEA中,转到VCS - > Git - > Remotes ...,选择包含“origin”的行并单击编辑按钮。 如果您将存储库托管在GitHub上,请将您的SSH URL替换为:

    git@github.com:USERNAME/REPOSITORY.git
    

    至:

    https://github.com/USERNAME/REPOSITORY.git
    

    您也可以从您的GitHub存储库主页获取您的HTTPS URL - 点击“克隆或下载”按钮并点击“使用HTTPS”链接以显示您的存储库的HTTPS URL:

    在这里输入图像描述

    UPDATE 2018-03-13

    JetBrains刚刚发布了IntelliJ IDEA 2017.3.5,其中包括修复SSH访问GitHub的问题 - https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5-fix-for-ssh-access -to-github上/

    链接地址: http://www.djcxy.com/p/27077.html

    上一篇: git with IntelliJ IDEA: Could not read from remote repository

    下一篇: how do i publish a organization project to github with intellij