我已经在AWS Codecommit中设置了两个存储库,并在Windows的SourceTree之前使用,通过HTTP协议设置访问权限并且一切正常。
是的,我没有在我安装了ubuntu的机器上迁移项目的开发,我选择使用gitkraken。
我能够在我的用户通过终端读取和写入访问权限(我的用户)的文件夹中进行git克隆,因此在Ubuntu中没有相关权限,其中git clone" aws repo url&# 34;我当时要求提供IAM和密码的用户名(在AWS IAM控制台上创建的用户名)。
我当然可以从gitkraken打开repo文件夹,甚至可以查看所有远程分支和所有历史记录,但是一旦我从gitkraken中取出它就会失败,因为"访问"否认。我也不能克隆来自Gitkraken的相同或另一个回购。所以我似乎必须在gitkraken中配置我的凭据,但不确定应该在哪里完成。这位官员doc并没有说太多。
答案 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