Android Studio - 推送失败:致命:无法从远程存储库读取

mFe*_*ein 56 git bitbucket intellij-idea android-studio

我在Android Studio上有一个git项目,在BitBucket上有一个遥控器,我将其更改为使用SSH而不是HTTPS.我可以使用Atlassian的SourceTree使一切工作,但是每次我尝试推动项目时,它都会在Android Studio中使用

推送失败:致命:无法从远程存储库读取.

有没有人知道可能发生的事情?

Nic*_*zol 77

这可能是一个Intellij问题.您的密钥由ssh本地管理,Intellij拥有自己的ssh程序.

转到设置,搜索git-> ssh可执行文件,然后选择 native

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

  • 谢谢你,这适用于OSx.通常情况下,如果您使用的是干净的计算机,则默认设置有效,例如首次安装Intellij,但在我的情况下,计算机具有可能影响默认值的多用户登录. (2认同)

Joh*_*nny 18

转到设置>版本控制> Git.确保SSH可执行文件设置为"Native".

如果已经设置,请切换回"内置",应用它,然后再次切换回"原生".

在此输入图像描述


Joe*_*ang 17

在Android Studio或IntelliJ中有两种方式进行Git SSH验证,通过以下方式进行更改:设置 - 版本控制 - Git - SSH可执行 - "内置"或"本机"

  1. 内置:表示使用Git内置的ssh密钥对进行身份验证.你可以通过
    ssh-keygen -t rsa
    默认保存的路径生成它是"〜/ .ssh/id_rsa""〜/ .ssh/id_rsa.pub".您应该在BitBucket帐户中添加公钥.路径如:管理帐户 - SSH密钥 - 添加密钥
  2. Native:表示使用本机存储库托管服务生成的ssh对,例如BitBucket或GitHub,它通常在服务帐户中自动添加.例如在GitHub中.它生成了一对SSH密钥,"〜/ .ssh/github_rsa.pub"和"〜/ .ssh/github_rsa",并且公钥已经通过GitHub GUI自动添加到我的帐户中.因此,将SSH可执行文件更改为"Native"可能是一种简单的方法.

无论如何,您可以在存储库托管服务中添加正确的公钥后使用这两种方式.


Rom*_*ych 6

尽管将我的SSH可执行文件设置为Native,但由于设置了SSH密钥文件的密码,因此出现了该错误。

我尚未在Android Studio中找到如何指定密码的方式,但是还有另一种解决方案,您可以删除密码$ ssh-keygen -p。然后只需确认文件位置,输入旧密码,然后将新密码保留为空白即可。

取自如何删除SSH密钥的密码而不需要创建新密钥?


小智 -2

重新生成您的公共 ssh 密钥并将其添加到您的 git hub 存储库。

ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

它对我来说有效。