IntelliJ和AndroidStudio - 连接到Gitlab.com资源库

时间:2016-12-22 11:34:20

标签: git android-studio intellij-idea gitlab ssh-keys

通过Git UI和Turtoise UI我更新了本地和远程GIT存储库。 我想与Android Studio和IntelliJ中的gitlab.com存储库进行交互。我继续获得401或读错误。

在IntelliJ中,我试图通过VCS连接到远程存储库> GIT>遥控器并添加了gitlab.com SSH条目。 同样在Android Studio中,我无法连接到远程存储库。

解决方案:感谢VonC。我在Gitlab.com注册的SSH密钥位于我的c:\ users \ myusername \ .ssh文件夹中。通过Turtoise和GIT UI,我可以直接参考这些文件。

Android Studio和IJ IDE都使用%HOME%文件夹来查找SSH密钥。此文件夹可能会引用System的SSH文件夹。由于该文件夹中没有可用的SSH密钥,因此我一直收到连接错误。

解决方案是创建一个命令(.bat)文件,为IntelliJ执行以下操作:

set HOME=%USERPROFILE%
c:
cd "C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.3.1\bin"
idea.exe

对于AS:

set HOME=%USERPROFILE%
c:
cd C:\Program Files\Android\Android Studio1\bin
studio64.exe

2 个答案:

答案 0 :(得分:1)

让我们明确一点:如果您使用的是https网址和您的用户名/密码GitLab.com帐户,那么您的ssh密钥与您的连接尝试有:那些ssh密钥(puttygen与否)将被忽略。

对于https,您需要GitLab帐户凭据,如果您的GitLab密码中包含特殊字符,则需要percent encodedlike a @)。

另见" Handling Passwords for Git Remote Repositories" (再次,与ssh无关。)

如果您选择"使用ssh"克隆git存储库; (如this answer)那样,即使Git没有找到你的ssh密钥(或if your public key is not properly registered in your GitLab account),ssh也能够回退到用户名/密码认证方案。

在AS(Andoird Studio)中使用ssh url:

  • CMD(类型HOME)设置为set HOME时,请确保在%USERPROFILE%会话中启动AS,
  • 确保已生成openssh密钥,described by GitLab并已注册到您的GitLAb个人资料,再次为described by GitLab
    您必须在%USERPROFILE%\.ssh(或%HOME%\.ssh)中看到文件id_rsaid_rsa.pub。不需要ppk puttygen密钥。

OP补充道:

  

啊,%HOME%%USERPROFILE%指向不同的位置。我将id_rsa设置为%USERPROFILE%%HOME%点到系统文件夹。那么,使用id_rsa.pub中的C:\WINDOWS\system32\config \systemprofile还应该足够吗?

实际上,如果HOME指向系统文件夹,则表示AS正在运行系统帐户,或者已为系统帐户安装了Git。 不要:HOME应引用%USERPROFILE%,并确保{1}}与您的帐户一起发布。 OP注意到:

  

AS解决方案也适用于IntelliJ,因此它不仅适用于Android Studio。

答案 1 :(得分:0)

我认为您错误地将GitHub支持GitLab项目插件并尝试使用GitLab凭据对GitHub进行身份验证。搜索GitLab插件,安装gitlab projectsenter image description here

并使用您可在帐户设置中找到的GitLab网址和API Key对其进行配置。

enter image description here