Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IntelliJ和AndroidStudio-连接到Gitlab.com respository_Git_Android Studio_Intellij Idea_Gitlab_Ssh Keys - Fatal编程技术网

IntelliJ和AndroidStudio-连接到Gitlab.com respository

IntelliJ和AndroidStudio-连接到Gitlab.com respository,git,android-studio,intellij-idea,gitlab,ssh-keys,Git,Android Studio,Intellij Idea,Gitlab,Ssh Keys,通过Git UI和Turtoise UI,我更新了本地和远程Git存储库。 我想与Android Studio和IntelliJ中的gitlab.com存储库进行交互。我不断得到401或读取错误 在IntelliJ中,我尝试通过VCS>GIT>Remotes连接到远程存储库,并添加了gitlab.com SSH条目。 在Android Studio中,我也无法连接到远程存储库 解决方案:感谢VonC。我在Gitlab.com注册的SSH密钥位于我的c:\users\myusername\.SSH

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

在IntelliJ中,我尝试通过VCS>GIT>Remotes连接到远程存储库,并添加了gitlab.com SSH条目。 在Android Studio中,我也无法连接到远程存储库

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

Android Studio和IJ IDE都使用%HOME%文件夹查找SSH密钥。此文件夹可能指向系统的SSH文件夹。因为该文件夹中没有可用的SSH密钥,所以我不断收到连接错误

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

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

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

让我们明确一点:如果您使用https url和您的用户名/密码GitLab.com帐户,您的ssh密钥与您的连接尝试没有任何关系:这些ssh密钥(puttygen或not)将被忽略

对于https,您需要您的GitLab帐户凭据,如果您的GitLab密码中有一个特殊字符,那么它需要是()

另请参见“”(同样,与ssh无关)

如果选择“使用ssh克隆git存储库”(如中所示),则即使git找不到您的ssh密钥(或),ssh也可以回退到用户名/密码身份验证方案


要在AS(Andoird Studio)中使用ssh URL,请执行以下操作:

  • HOME
    (键入
    set HOME
    )设置为
    %USERPROFILE%
    )时,确保在
    CMD
    会话中启动
  • 确保已生成openssh密钥,并已注册到您的GitLAb配置文件,再次注册为。
    您必须在
    %USERPROFILE%\.ssh
    (或
    %HOME%\.ssh
    )中查看文件
    id\u rsa
    id\u rsa.pub
    。不需要
    ppk
    puttygen键
OP补充道:

啊,
%HOME%
%USERPROFILE%
指向不同的位置。我将
id\u rsa
设置在
%USERPROFILE%
%HOME%
指向系统文件夹。因此,使用
C:\WINDOWS\system32\config\systemprofile
中的
id\u rsa.pub
也就足够了

实际上,如果HOME指向系统文件夹,则表示AS正在使用系统帐户运行,或者为系统帐户安装了Git。
不要:
HOME
应该引用
%USERPROFILE%
,并确保
作为您的帐户启动。
OP注意到:

HOME=%USERPROFILE%
解决方案同样适用于IntelliJ,因此它不仅适用于Android Studio


我认为您将GitHub支持与GitLab项目插件弄错了,并试图使用GitLab凭据对GitHub进行身份验证。搜索GitLab插件,安装GitLab项目

并使用GitLab URL配置它,您可以在帐户设置中找到它


谢谢。对于Android Studio,没有“gitlab”插件。对于IntelliJ,只有“gitlab集成”插件。我应该用那个吗?@tjm1706我在屏幕截图上用的是安卓工作室。单击插件->浏览存储库->搜索GitLab。我添加了另一个屏幕截图。在我的回答中。使用API密钥。。。这是通过项目>设置>部署密钥完成的吗?用哪一个?与SSH密钥或用户名/密码相比,使用API密钥有什么优势?API密钥用于管理gitlab项目,SSH密钥用于推动代码更改。请详细说明。而且。。。gitlab.com中的API密钥是否可以通过项目>设置>部署密钥找到?对于IntelliJ:我创建了本地文件,在本地暂存并提交它们。然后通过VCS>Git>remote>我添加了Https字符串。然后我推了推内容,效果很好。问题:IntelliJ在哪里存储使用这个Giblab.com私有存储库的用户名密码?对于Android Studio:我可以使用Https gitlab.com字符串通过New>project from VCS>Git>克隆一个项目。工作。如果我有一个本地存储库,如何第一次将其存储在远程存储库中?在中,因为我没有“remotes”选项。@tjm1706对于您的第一个问题,Git for Windows提供了与(
Git config--global credential.helper manager
)的本机集成。@tjm1706您始终可以回退到命令行,转到您的本地repo并以这种方式添加远程:
git remote add origin/url/of/remote/repo
AndroidStudio。。。我已经在AS之外调整了本地和远程回购协议。我现在如何从远程回购开始?