通过HTTP克隆AWS codecommit repo

时间:2018-05-15 15:45:00

标签: git amazon-web-services amazon-iam gitkraken aws-codecommit

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

是的,我没有在我安装了ubuntu的机器上迁移项目的开发,我选择使用gitkraken。

我能够在我的用户通过终端读取和写入访问权限(我的用户)的文件夹中进行git克隆,因此在Ubuntu中没有相关权限,其中git clone" aws repo url&# 34;我当时要求提供IAM和密码的用户名(在AWS IAM控制台上创建的用户名)。

我当然可以从gitkraken打开repo文件夹,甚至可以查看所有远程分支和所有历史记录,但是一旦我从gitkraken中取出它就会失败,因为"访问"否认。我也不能克隆来自Gitkraken的相同或另一个回购。所以我似乎必须在gitkraken中配置我的凭据,但不确定应该在哪里完成。这位官员doc并没有说太多。

3 个答案:

答案 0 :(得分:3)

胭脂红!

听到您与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/*

答案 1 :(得分:2)

我实际上发现我能够连接,之前我失败了,因为没有按照AWS Codecommit文档隐藏一些步骤:

我不确定在提示时提供以下内容是否是必要的步骤,但我想他们并没有受伤:

在终端提供以下内容:

aws configure

您将立即提供:

AWS Access Key ID

AWS秘密访问密钥

默认地区名称

默认输出格式

到此为止我建议提供以上

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

如果没有提供额外的凭证,那么成功的是在终端执行以下内容:

git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true 

然后简单地说:

clone https://your_url_code your_repo_name for HTTPS connection from AWS Codecommit console

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

这项工作适合我。

答案 2 :(得分:0)

在尝试将aws存储库克隆到本地文件夹时,请确保存储库的区域代码和本地aws CLI配置中指定的默认区域代码相同。否则,将产生错误。

  

致命:无法访问   'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/coderepo/':   请求的URL返回错误:403