Mac OS X El Capitan下Git osxkeychain凭证存储失效求助
解决Mac El Capitan下Git凭证存储失效的问题
我来帮你搞定这个烦人的凭证存储问题,结合你的环境(Mac OS X El Capitan 10.11.6 + Git 2.10.1),咱们一步步排查修复:
1. 先修正仓库远程URL的格式问题
你提到的克隆URL someuser@http://pathtorepo 是混合了SSH和HTTP的格式,这会导致Git无法正确解析用户名和协议,进而让凭证助手没法匹配对应的存储条目。
正确的HTTP/HTTPS带用户名的URL格式应该是把用户名放在协议后面,执行下面的命令修改远程地址:
git remote set-url origin http://someuser@pathtorepo
2. 确认凭证助手配置是否生效
先检查当前仓库的配置,看看osxkeychain助手有没有正确设置:
git config --local --list
如果输出里没有credential.helper=osxkeychain这一行,重新设置(推荐全局配置,所有仓库都能用):
git config --global credential.helper osxkeychain
如果只需要当前仓库生效,就用--local参数:
git config --local credential.helper osxkeychain
3. 手动在钥匙串中添加凭证(如果上面步骤无效)
有时候钥匙串里的旧凭证或者未正确生成的条目会导致问题,咱们手动添加试试:
- 打开「钥匙串访问」应用(可以在Spotlight里搜索找到)
- 在搜索框输入你的仓库域名或者
git,如果有旧的相关条目,先删除 - 点击左上角「文件」→「新建密码项」
- 「钥匙串项名称」填写仓库的完整URL(比如
http://pathtorepo),「账户名称」填someuser,「密码」填你的仓库登录密码 - 保存后再尝试
git pull,应该就不会再弹密码提示了
4. 确认使用的是Brew安装的Git版本
你提到用Brew装了Git,但系统可能默认还是用Apple自带的版本。先检查当前Git的路径:
which git
如果输出是/usr/bin/git(系统默认路径),而不是/usr/local/bin/git(Brew安装的路径),那需要把Brew的Git路径加到环境变量前面:
- 打开
~/.bash_profile或者~/.zshrc(看你用的是哪个shell) - 添加一行:
export PATH="/usr/local/bin:$PATH" - 保存后重启终端,再用
which git确认路径正确,然后重新设置凭证助手
按照上面的步骤来,应该就能解决凭证存储的问题了。
内容的提问来源于stack exchange,提问作者Freude
相关产品推荐
相关产品推荐

