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)
我实际上发现我能够连接,并且以前失败了,因为未遵循某些步骤就完全隐藏在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)
有关更详细的说明,请参阅官方文档
这对我有用。