4

我正在使用 Atlassian 的 SourceTree 在 Mac OS 上使用 git,并选择 AWS CodeCommit 作为远程托管服务器。

按照AWS 和我的本地存储库之间的 HTTPs 连接的这些步骤,

这是我的git config --global --edit样子:

在此处输入图像描述

然后尝试将创建的空仓库从 AWS 克隆到 SourceTree: 在此处输入图像描述

我得到错误打印出来:

中止:HTTP 错误 403:禁止 aws --profile 默认 codecommit credential-helper $@ get:aws:找不到命令致命:无法访问' https://git-codecommit.us-east-1.amazonaws.com/v1 /repos/my-git-repo/ ':请求的 URL 返回错误:403

更新

尝试了@Steffen Opel 提供的答案,结果更像:

在此处输入图像描述

我错过了什么吗?

4

3 回答 3

4

我刚刚在这里找到了这个答案(https://geekprotem.com/2015/07/10/aws-codecommit-with-sourcetree/

在亚马逊网站上按照 AWS CLI 的设置步骤进行操作后,让它工作的最后一步是在 SourceTree 中编辑我的存储库的配置文件以包含以下内容:

[credential]
helper = /usr/local/bin/aws codecommit credential-helper $@
UseHttpPath = true
于 2016-09-20T15:58:08.783 回答
1

似乎是对的。“找不到命令”是问题所在。我会说 aws 不在路径中,当凭证助手试图帮助它时找不到它。仔细检查它是否在路径中which aws

于 2015-10-08T07:29:07.227 回答
1

我没有对此进行测试,但鉴于 AWS CodeCommit 也促进了凭证帮助程序并且错误是git 命令。见 'git --help'。command not found

发生错误 [...] 是因为 Git 调用了这个帮助程序并且找不到它,这意味着它已被定义但在 PATH 中找不到。对于 1.6.3 版的 SourceTree,这没什么好担心的。有两种方法可以阻止这种情况发生。

  1. 不推荐,但如果您仅将 SourceTree 用于所有内容,则可以从 /usr/local/git/etc/gitconfig 配置中删除“凭据”设置。这是一种快速简便的方法,但它确实意味着终端上的操作可能无法进行身份验证。
  2. 建议在 SourceTree 应用程序资源中的 git-credential-osxkeychain 和本地 git 安装之间创建一个符号链接。

    ln -s /usr/local/git/bin/git-credential-osxkeychain /Applications/SourceTree.app/Contents/Resources/git_local/bin/git-credential-osxkeychain

当然,由于 AWS CodeCommit 要求凭证帮助程序就位,因此只有解决方案 2 在概念上适用于您的方案,您需要根据 CodeCommit 凭证帮助程序调整链接源和目标。

于 2015-10-08T11:55:52.417 回答