我在Android Studio上有一个git项目,在BitBucket上有一个遥控器,我把它改为使用SSH而不是HTTPS。我可以使用Atlassian的SourceTree使一切工作正常,但是每当我尝试推动项目时,它都会在Android Studio中显示
推送失败:致命:无法从远程存储库读取。
有没有人对可能发生的事情有所了解?
答案 0 :(得分:73)
这可能是一个Intellij问题。您的密钥由ssh本地管理,Intellij拥有自己的ssh程序。
转到设置,搜索git-> ssh可执行文件,然后选择native
如下所示:git with IntelliJ IDEA: Could not read from remote repository
答案 1 :(得分:18)
答案 2 :(得分:17)
在Android Studio或IntelliJ中有两种方式进行Git SSH验证,通过以下方式进行更改: 设置 - 版本控制 - Git - SSH可执行 - “内置”或“本机”
ssh-keygen -t rsa
无论如何,您可以在存储库托管服务中添加正确的公钥后使用这两种方式。
答案 3 :(得分:6)
尽管我的SSH可执行文件设置为Native
,但由于设置了SSH密钥文件的密码,因此出现了此错误。
我还没有找到如何在Android Studio中指定密码的方法,但是还有另一个解决方案,您可以删除密码,可以使用$ ssh-keygen -p
来完成。然后只需确认文件位置,输入您的旧密码,然后将新密码留空即可。
来自How do I remove the passphrase for the SSH key without having to create a new key?
答案 4 :(得分:1)
转到github.com并打开您的存储库并复制USE HTTPS网址 转到Android项目目录。在.git文件夹中搜索配置文件。
在配置文件中更改您从github.com(使用https)复制的URL与之前的URL。 保存配置文件并再次按下。 这对我有用。
答案 5 :(得分:1)
我在Android Studio 3.1中遇到了类似的问题
我按照此处的建议将首选项>版本控制> Git> SSH可执行文件从内置更改为本机,但这并没有帮助
然后,我将Android Studio升级到3.2,然后切换回内置。它解决了我的问题。
答案 6 :(得分:1)
在切换到Android Studio 3.6之后,遇到了这个问题,它被转换为IDEA 2019
在我的情况下,以下解决方案开箱即用:
git.use.builtin.ssh
并将其启用答案 7 :(得分:0)
我遇到了同样的问题。事实证明,如何运行Android Studio。如果使用终端或sth的普通权限运行它,它就无法读取它必须的本地文件以便推送存储库。
解决方案可能只是重启Android Studio,其权限比目前更多。
答案 8 :(得分:0)
我自己跑过去,发现现有的答案有点不完整。
tl;博士:将Android Studio / IntelliJ的SSH客户端从内置转换为本机可能会为您解决问题(这对我而言)。
Android Studio(实际上是专门的IntelliJ IDEA)附带自己的内置SSH客户端,但如果您愿意,可以切换到本机(依赖于平台/操作系统)。您可以通过打开Android Studio选项,搜索“git”并在SSH可执行文件下拉列表中选择“native”来更改此项。
在我的情况下,我无法通过Android Studio推送到BitBucket,但git push
工作正常。切换到本机(OSX SSH,在我的情况下)解决了这个问题 - 现在我可以从Android Studio推送到BitBucket。
其他答案触及了这个主题,但似乎在SSH可执行文件和它们使用的密钥之间存在一些混淆。
在SSH可执行文件下的每个Android Studio帮助:
答案 9 :(得分:0)
我遇到了这个问题,最后我解决了这个问题。设置有两个重点: 在android studio中:File-Settings-GitHub:不要选择"使用ssh"克隆git存储库 在android studio中:File-Settings-Git:选择"内置" for" SSH可执行文件"
对于我已经在GitHub帐户中拥有的SSH,是我在android studio中的那个,我忘记了如何在android studio中找到SSH,但你可以通过其他方式找到它< / p>
答案 10 :(得分:0)
如果将首选项>版本控制> Git> SSH可执行文件从内置更改为本机不起作用,请尝试取消选中首选项>版本控制> GitHub>使用ssh克隆git存储库 CHECK IT
答案 11 :(得分:0)
为我解决这个问题的是进入设置 > 版本控制 > Git 并选中“使用凭证助手”。我最近下载了 Android Studio 的 Canary 版本并选择不迁移我的设置,因此在我的发布版本上检查的这个小设置不再在 Canary 版本上检查。
答案 12 :(得分:-3)
重新生成您的公共ssh密钥并将其添加到您的git hub存储库。
ssh-keygen -t rsa
它适用于我的情况。