通过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
答案 0 :(得分:1)
让我们明确一点:如果您使用的是https网址和您的用户名/密码GitLab.com帐户,那么您的ssh密钥与您的连接尝试有无:那些ssh密钥(puttygen与否)将被忽略。
对于https,您需要GitLab帐户凭据,如果您的GitLab密码中包含特殊字符,则需要percent encoded(like 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,%USERPROFILE%\.ssh
(或%HOME%\.ssh
)中看到文件id_rsa
和id_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 projects
:
并使用您可在帐户设置中找到的GitLab网址和API Key对其进行配置。