git 无法将SourceTree连接到AWS CodeCommit

qxgroojn  于 2023-03-21  发布在  Git
关注(0)|答案(4)|浏览(249)

我使用Atlassian的SourceTree在Mac OS上使用git,并选择AWS CodeCommit作为远程托管服务器。
根据AWS和我的本地存储库之间的steps for HTTPs连接,
下面是我的git config --global --edit的样子:

然后尝试将创建的空存储库从AWS克隆到SourceTree:

我得到错误打印出来:
HTTP错误403:Forbidden aws --profile default codecommit credential-helper $@ get:aws:command not found fatal:无法访问'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-git-repo/':请求的URL返回错误:403

更新

尝试了@Steffen Opel提供的答案,并得到了更像:

我错过什么了吗?

koaltpgm

koaltpgm1#

我在这里找到了这个答案(https://geekprotem.com/2015/07/10/aws-codecommit-with-sourcetree/
在亚马逊网站上遵循AWS CLI的设置步骤之后,使其工作的最后一步是在SourceTree中编辑我的存储库的配置文件,以包括以下内容:

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

yzxexxkh2#

我还没有测试过这个,但是考虑到AWS CodeCommit也提供了一个凭据帮助程序,并且错误是command not found,我假设您受到SourceTree知识库文章Credential helpers "git: 'credential-osxkeychain' is not a git command. See 'git --help'."中概述的相同问题的影响:
错误[...]的出现是因为Git调用了这个helper,但是找不到它,这意味着它已经被定义了,但是在PATH中找不到。对于1.6.3版本的SourceTree来说,这是没有什么可担心的。有两种方法可以阻止这种情况发生。
1.不推荐,但如果你只使用SourceTree来做所有的事情,你可以从/usr/local/git/etc/gitconfig配置中删除'credential'设置。这是一个快速简单的方法,但它确实意味着终端上的操作可能无法进行身份验证。
1.建议在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凭据帮助程序调整链接源和目标。

wpx232ag

wpx232ag3#

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

jtjikinw

jtjikinw4#

如果你从homebrew安装了aws cli(而不是pkg),并且你在.gitconfig凭据中没有路径,你可以做这个简单的修复,链接到pkg安装路径,在Sourctree上测试和工作。

sudo ln -s /opt/homebrew/bin/aws /usr/local/bin/aws

相关问题