Git CodeCommit 凭据始终出现在 Mac OS X 上的“钥匙串访问”中

lol*_*ter 5 git macos aws-codecommit

执行以下操作后,使用 git 在 AWS 上设置我的 CodeCommit 存储库:

$ git config --global credential.helper '!aws codecommit credential-helper $@'
$ git config --global credential.UseHttpPath true
Run Code Online (Sandbox Code Playgroud)

在我必须从钥匙串访问中删除它之前,我只能进行一次提交,如下所示:

在此输入图像描述

这太烦人了。有人知道如何防止 Mac OS X 将其添加到每个钥匙串中吗git push

sha*_*aws 4

以下是一些避免钥匙串干扰的选项:

  • 禁用 git 的 osxkeychain:

    $ nano /usr/local/git/etc/gitconfig
    # helper = osxkeychain <======== Comment out using #
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用 SSH 而不是 HTTPS 连接到 CodeCommit。有关更多信息,请参阅Linux、macOS 或 Unix 上的 SSH 连接 [1]。

  • 安装默认情况下不使用钥匙串的 Git 版本。

  • 考虑使用脚本解决方案来删除钥匙串项。要查看社区生成的脚本解决方案示例,请参阅产品和服务集成中用于定期删除 OS X 证书存储中缓存凭据的 Mac OS X 脚本 [2]。

  • 在钥匙串访问实用程序中,在 git-codecommit.us-east-2.amazonaws.com 的访问控制选项卡上,选择允许所有应用程序访问此项目(对此项目的访问不受限制)选项。这可以防止弹出窗口,但凭据最终会过期(平均需要大约 15 分钟),然后您会看到 403 错误消息。发生这种情况时,您必须删除钥匙串项目才能恢复功能。

有关上述选项的更多信息,请参阅 AWS 文档:[3]

[1] https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-unixes.html

[2] https://github.com/nicc777/macaws-codecommit-pwdel

[3] 对 AWS CodeCommit 的凭证帮助程序和 HTTPS 连接进行故障排除 - Git for macOS:我成功配置了凭证帮助程序,但现在我被拒绝访问我的存储库 (403) - https://docs.aws.amazon.com/ codecommit/latest/userguide/troubleshooting-ch.html#troubleshooting-macoshttps