如何阻止Git在Mac的Password KeyChain中添加AWS CodeCommit相关条目?
阻止Git在Mac钥匙串中生成CodeCommit凭证条目
我之前也碰到过一模一样的问题,核心原因是Git默认的osxkeychain凭证助手可能还在和你配置的AWS CodeCommit助手同时生效,导致每次Git操作后钥匙串都会自动生成新的条目。这里给你几个靠谱的解决方案:
1. 确保Git仅使用AWS CodeCommit凭证助手
首先先检查当前Git的凭证助手配置,确认是不是有多个助手在运行:
git config --list --show-origin | grep credential.helper
如果输出里出现了osxkeychain的条目,你需要要么移除它,要么针对CodeCommit的URL单独配置,避免全局的osxkeychain干扰。
方案A:全局替换凭证助手
编辑你的~/.gitconfig文件,确保[credential]区块只有AWS的助手配置,删掉任何helper = osxkeychain的行:
[credential] helper = !aws --profile my-awesome-aws-profile codecommit credential-helper $@ UseHttpPath = true
方案B:仅针对CodeCommit URL配置
如果你还需要全局用osxkeychain处理其他Git仓库,只对CodeCommit禁用它:
在~/.gitconfig里添加以下内容:
[credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws --profile my-awesome-aws-profile codecommit credential-helper $@ UseHttpPath = true helper = "" # 覆盖全局的osxkeychain助手,仅对该URL生效
这样Git处理CodeCommit仓库时,只会调用AWS的凭证助手,不会触发osxkeychain写入钥匙串。
2. 修改钥匙串条目权限(临时应急方案)
如果不想修改Git配置,可以尝试限制Git访问该钥匙串条目:
- 打开钥匙串访问应用,找到
git-codecommit.us-east-1.amazonaws.com的条目 - 右键点击条目选择显示简介
- 切换到访问控制标签页,把列表里的
git应用移除 - 勾选“确认在每次访问时都需要”(不过这个会每次弹出确认提示,体验不算好)
不过这个方法不如修改Git配置可靠,因为Git后续操作可能会重新添加自己到访问列表里。
3. 清除现有凭证并重新配置
最后,先彻底清除已有的CodeCommit凭证,再应用上面的配置:
git credential-osxkeychain erase
然后按照提示输入:
protocol=https host=git-codecommit.us-east-1.amazonaws.com path=/v1/repos/你的仓库名称
按回车执行后,现有条目会被移除,后续Git操作就不会再自动生成新的钥匙串条目了。
内容的提问来源于stack exchange,提问作者Asdfg
相关产品推荐
相关产品推荐

