AWS CodeCommit-致命错误:未找到存储库'https://git-codecommit.us-east-1..'

26
我有一个AWS账户。我在us-east-1区域创建了一个存储库。但是,当我尝试从我的Mac终端访问它时,出现错误fatal: repository 'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/demo/' not found。但我可以使用SourceTree GIT客户端访问这个存储库。我在加利福尼亚地区创建了另一个存储库,并且我能够从终端本身访问该存储库。为什么我的Mac终端无法找到特定AWS区域的存储库?

请检查 ~/.my-credentials 文件的内容。将其重命名为其他名称,然后尝试再次克隆。 - user3602504
8个回答

40

我跟随VonC和Uzair提到的链接,并成功地使用了CLI git命令,只需要输入:

git config --global credential.UseHttpPath true

谢谢VonC。 PS:请确保您安装了当前版本的Git。CodeCommit支持Git版本1.7.9及更高版本。


14

使用以下命令

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

1
你能解释一下为什么这个有效吗?我认为这与AWS CLI配置文件有关。 - William Ardila

11
如果您正在使用AWS配置文件,则添加凭据助手而不使用配置文件将使用您的AWS CLI设置的默认配置文件。为了确保您使用的是存储您的CodeCommit存储库的相同配置文件/AWS帐户,您需要在credential-helper中指定配置文件,如下所示:
git config --global credential.helper '!aws --profile HERE_YOUR_CLI_PROFILE_NAME codecommit credential-helper $@'

5

检查SourceTree的Git配置是否与您的Git命令行不同:this answer指出要进行设置:

[credential]
helper = /usr/local/bin/aws codecommit credential-helper $@
UseHttpPath = true

例如:在命令行中,AWS的凭证助手可能没有为特定的存储库设置,而SourceTree使用的Git(可能是嵌入式的)将被正确设置。


2

注意:即使找到了仓库,但提供的凭据不正确,此错误也可能返回。

在我的情况下,由于我有两个AWS账户,我使用A配置文件访问B配置文件的帐户,这导致了此错误。


0

这不就是我在答案中提到的完全相同的链接吗? - VonC
哦,是的,我道歉了,我会给你的答案点赞。 - Uzair Khan
没问题。我只是在确认你的回答中是否有我漏掉的内容。 - VonC

0
如果您在另一个AWS账户中使用了CodeCommit存储库,则第一个账户的凭据可能会被缓存在您的计算机上,因此git会在第一个账户中查找CodeCommit存储库。
要解决这个问题,在Windows中打开凭据管理器(点击开始,输入凭据),找到您的缓存凭据,然后删除它们。还有可能使用了git凭据管理器或其他凭据管理器,如果凭据不在Windows凭据管理器中,值得调查一下。

0

大家好,我已经更改了我的 AWS 区域,然后它成功地克隆、添加、提交并推送到 commitcode 代码库中。我还在 IAM 用户中添加了凭据,并附加了一些策略,这对我起作用了。这是我附加到用户 commitcode 的策略,具有完全访问权限,并且是 JSON 格式。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CodeCommitClonePullPermissions",
            "Effect": "Allow",
            "Action": [
                "codecommit:GitClone",
                "codecommit:GitPull"
            ],
            "Resource": "arn:aws:codecommit:AWSregion:AWSaccountid:my-reponame"
        }
    ]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接