Git Android Studio-推送失败:致命:无法从远程存储库读取
我在Android Studio上有一个git项目,在BitBucket上有一个远程项目,我把它改为使用SSH而不是HTTPS。我可以使用Atlassian的SourceTree让一切都正常工作,但在Android Studio中,每次我尝试推动项目时,它都会这么说 推送失败:致命:无法从远程存储库读取Git Android Studio-推送失败:致命:无法从远程存储库读取,git,intellij-idea,android-studio,bitbucket,Git,Intellij Idea,Android Studio,Bitbucket,我在Android Studio上有一个git项目,在BitBucket上有一个远程项目,我把它改为使用SSH而不是HTTPS。我可以使用Atlassian的SourceTree让一切都正常工作,但在Android Studio中,每次我尝试推动项目时,它都会这么说 推送失败:致命:无法从远程存储库读取 ssh-keygen -t rsa 有人知道会发生什么事吗 重新生成公共ssh密钥并将其添加到git hub存储库中 ssh-keygen -t rsa 这在我的情况下起了作用。我也遇到了同
ssh-keygen -t rsa
有人知道会发生什么事吗 重新生成公共ssh密钥并将其添加到git hub存储库中
ssh-keygen -t rsa
这在我的情况下起了作用。我也遇到了同样的问题。事实证明,如何运行Android Studio很重要。如果您使用终端或其他设备的正常权限运行它,它将无法读取为推送存储库而必须读取的本地文件
解决方案可能只是以比当前更多的权限重新启动Android Studio。在Android Studio或IntelliJ中有两种Git SSH验证方法,通过以下方式进行更改: 设置-版本控制-Git-SSH可执行-“内置”或“本机”
ssh-keygen-t rsa
默认保存的路径是“~/.ssh/id\u rsa”和“~/.ssh/id\u rsa.pub”。 您应该在BitBucket帐户中添加公钥。 路径类似于:管理帐户-SSH密钥-添加密钥
无论如何,在存储库托管服务中添加正确的公钥后,您可以同时使用这两种方法。我自己也遇到过这个问题,发现现有的答案有点不完整 tl;dr:将Android Studio/IntelliJ的SSH客户端从内置切换到本机可能会为您解决这个问题(对我来说确实如此) Android Studio(实际上是一个专门的IntelliJ想法)自带了自己的内置SSH客户端,但如果您愿意,它允许您切换到本机(依赖于平台/操作系统)。您可以通过打开Android Studio选项、搜索“git”并在SSH可执行文件下拉列表中选择“native”来更改此设置 在我的例子中,我无法通过Android Studio推送到BitBucket,但git推送工作正常。切换到本机(在我的例子中是OSX SSH)解决了这个问题-现在我可以从Android Studio推送到BitBucket 其他答案涉及到这个问题,但SSH可执行文件和它们使用的密钥之间似乎有一些混淆 根据SSH可执行文件下的Android Studio帮助:
- 内置:选择此选项可使用IntelliJ IDEA提供的实现
- 本机:选择此选项以使用本机实现
- 这可能是一个智能问题。您的密钥由ssh本机管理,Intellij有自己的ssh程序
转到设置,搜索git->ssh可执行文件,然后选择
native
如图所示:我遇到了这个问题,最后我解决了它。设置有两个要点: 在androidstudio:File Settings中,GitHub:not选择“Clone git repositories using ssh” 在androidstudio:filesettings中,Git:选择“内置”作为“SSH可执行文件”
对于我已经在GitHub帐户中拥有的SSH,就是我在android studio中拥有的SSH,我忘记了如何在android studio中找到SSH,但您可以通过另一种方式找到它转到设置>版本控制>Git。确保SSH可执行文件设置为“本机” 如果已经设置,请切换回“内置”,应用它,然后再次切换回“本机”
转到github.com,打开存储库并使用HTTPS url复制 转到Android项目目录。在.git文件夹中搜索配置文件 在配置文件中,将从github.com复制的url(使用https)与以前的url一起更改。 保存配置文件并再次推送。
这对我来说很有效。我在Android Studio 3.1中遇到了类似的问题 我将首选项>版本控制>Git>SSH可执行文件从内置更改为本机,正如这里所建议的那样,但没有任何帮助
然后我将Android Studio升级到3.2并切换回内置的。它解决了我的问题。尽管我的SSH可执行文件被设置为
本机
,但我收到了这个错误,因为我已经为SSH密钥文件设置了密码
我还没有找到如何在Android studio中指定密码的方法,但还有另一个解决方案,您可以通过$ssh keygen-p
删除密码。然后确认文件位置,输入旧密码并将新密码留空
取自如果将首选项>版本控制>Git>SSH可执行文件从内置更改为本机不起作用,请尝试取消选中首选项>版本控制>GitHub>使用SSH克隆Git存储库
在切换到Android Studio 3.6后,在引擎盖下被撞到IDEA 2019时,出现了问题 在我的案例中,以下解决方案是开箱即用的:
您可能需要再次添加远程。当Git不知道推送到何处时,会出现此错误消息。请查看类似问题:我认为最上面的答案应该对您有所帮助。但我的配置文件中有远程url,SourceTree可以进行推送…嗯…远程有正确的SSH url,而不是旧的HTTPS url?我尝试了搜索为了这个我