通过HTTP克隆AWS Codecommit存储库

Car*_*cia 1 git amazon-web-services amazon-iam aws-codecommit gitkraken

我已经在AWS Codecommit中设置了2个存储库,并且在使用Windows的SourceTree之前使用了存储库,通过HTTP协议设置了访问权限,并且一切正常。

是的,不是,我正在已安装ubuntu且选择使用gitkraken的计算机上迁移项目的开发。

我能够在用户通过终端读写访问权限的文件夹中进行git clone,因此与Ubuntu中的权限无关,在git clone“ aws repo url”之后,我被提示要求输入用户名IAM和密码(在AWS IAM控制台上创建的一个)。

我当然可以从gitkraken打开该repo文件夹,甚至可以查看所有远程分支和所有历史记录,但是例如一旦我从gitkraken中拉出,它就因为“访问”被拒绝而失败了。我也无法从Gitkraken复制相同或另一个仓库。所以似乎我必须在gitkraken中配置我的凭据,但不确定应该在哪里进行。这个官方文档并没有说太多。

小智 6

胭脂红!

得知您在使用 CodeCommit 时遇到连接问题,我感到非常抱歉。

您可以尝试按照以下文档设置 SSH 连接:https : //docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-unixes.html

之后,使用 Gitkraken 打开存储库。当您尝试拉取或推送时,Gitkrake 会要求您提供凭据。使用在上一步中创建的 ssh 凭据。

如果 Gitkraken 再次失败,请检查存储库本地副本中的文件 .git/config。我注意到创建的 url 不正确,因此请检查生成的 url 是否与以下模式匹配:

[remote "origin"]
url = ssh://<Your-SSH-Key-ID>@git-codecommit.<region>.amazonaws.com/v1/repos/<repo-name>
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)


Car*_*cia 5

我实际上发现我能够连接,并且以前失败了,因为未遵循某些步骤就完全隐藏在AWS Codecommit文档中:

我不确定在提示时提供以下内容是否是必要的步骤,但我想它们不会对您造成伤害:

在终端上提供以下内容:

aws configure
Run Code Online (Sandbox Code Playgroud)

您将被提示提供:

AWS访问密钥ID

AWS秘密访问密钥

默认区域名称

默认输出格式

直到这里,我建议您提供以上内容

在克隆“您的https AWS地址” your_repo_name之后,系统将提示您提供用户名和密码。不幸的是,对于我的root帐户和IAM帐户(使用正确的规则策略),我都收到403错误。

没有提供额外证书的成功做法是在终端执行以下操作:

git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true 
Run Code Online (Sandbox Code Playgroud)

然后简单地:

clone https://your_url_code your_repo_name for HTTPS connection from AWS Codecommit console
Run Code Online (Sandbox Code Playgroud)

有关更详细的说明,请参阅官方文档

这对我有用。