使用IntelliJ IDEA的git:无法从远程存储库读取

 郝蕾雅老_206 发布于 2022-12-04 14:38

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

工具提示说"Fetch failed fatal:无法从远程存储库读取."

和版本控制选项卡中的异常读取

14:02:37.737: cd C:\dev\project
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,它可以正常工作.

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

git fetch从终端做另一个时,现在我被问到是否要永久添加服务器.之后,它又被写入known_hosts了,但IntelliJ仍然不允许我更新我的项目.

我还没有在网上找到任何有关此行为的信息,所以我猜这不是新IntelliJ版本的已知错误.不过,我更新到14.0.2,但问题仍然存在.

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

有没有人知道这里可能出现什么问题?

9 个回答
  • 转到首选项>版本控制> Git.确保SSH可执行文件设置为"Native."(如果已经是,请将其切换为"Built-in",应用它,然后再次切换回"Native.").

    如果这不能解决您的问题,我建议下载一个Git客户端,如GitHub客户端(免费桌面应用程序),并尝试通过该应用程序同步您的项目.然后返回IntelliJ并检查它是否有效.

    2022-12-11 02:07 回答
  • Could not read from remote repository最近在使用我的github存储库时开始收到错误.我的规格:

    IntelliJ IDEA 2017.3.4(终极版)

    设置 - >版本控制 - > Git - > SSH可执行文件 - >内置

    Fedora Linux

    在此输入图像描述

    当然,这些问题仅在尝试从IDE中推/拉/取等时发生 - 从命令行执行相同的命令就像魅力一样.

    解决方案对我有用

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

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

    将远程URL更改SSHHTTPS

    在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:

    在此输入图像描述

    更新2018-03-13

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

    2022-12-11 02:07 回答
  • 在pyCharm中,

    file|
        v-->settings|
                    v-->Version Control|
                                       v-->Git
    

    这里改变SSH executableBuilt-inNative

    然后按applyclose

    2022-12-11 02:11 回答
  • IntelliJ的内置SSH客户端似乎哈希known_hosts,但是我的主机名是明文.

    当我删除文件并让IntelliJ创建一个新文件时,只有我的(散列)GitLab服务器,没有其他任何东西,它工作.

    它也不可能混合使用 - 保留一些未散列的条目以及IntelliJ的散列条目.因此,您必须配置其他SSH客户端以使用散列主机.

    2022-12-11 02:12 回答
  • Settings --> Version Control --> Git,然后,在SSH可执行文件下拉列表中,选择 Native

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

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

    2022-12-11 02:55 回答
  • @yabin ya所说的是一个很酷的解决方案,只是提醒你:如果你仍然遇到同样的问题,请转到Settings-Version Control-GitHub并取消选中Clone git repositories using ssh.

    2022-12-11 02:56 回答
  • 我通过重新添加远程存储库解决了这个问题:VCS - > Git - > Remotes.

    2022-12-11 03:11 回答
    1. 转到设置 - > Git->在SSH可执行文件下拉列表中选择本机.(如果未选中)

      从Github存储库复制HTTPS链接.

      转到VCS-> Git-> Remotes ..

      在URL字段中编辑原点和粘贴HTTPS链接.

      按下Ctrl+Shift+k并将项目推送到存储库.有用.

    2022-12-11 03:11 回答
  • 您需要生成一个新的SSH密钥并将其添加到您的ssh-agent.为此你应该按照这个链接.

    创建公钥并将其添加到您的github帐户后,您应该在Intellij Idea中的设置 - >版本控制 - > Git - > SSH可执行文件下使用内置(非本机)选项.

    2022-12-11 03:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有