我在OS X Mountain Lion 10.8.3中使用Xcode Command Line Utilities 4.6.2安装的git.
在此安装中,git pull或git push的默认行为是记住密码,从而使用户不必再次输入密码.
虽然方便,但在我的情况下这是一个安全风险.我需要禁用凭据帮助程序,因此每次远程拉取,推送或提取都需要密码.
与Xcode一起安装的git似乎没有使用git config来设置此功能.这是我的设置:
#git –version =>
git版本1.7.12.4(Apple Git-37)
#git config –global –list =>
user.name=User Name user.email=user@home color.diff=auto color.status=auto color.branch=auto color.interactive=auto color.ui=auto alias.lol=log --pretty=oneline --abbrev-commit --graph --decorate alias.co=checkout alias.ci=commit alias.st=status alias.br=branch alias.hist=log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short alias.type=cat-file -t alias.dump=cat-file -p core.autocrlf=input core.safecrlf=true core.editor=/usr/bin/vim
#git config –local –list =>
core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* remote.origin.url=https://XXXXXXX@bitbucket.org/YYYYYYYY/ZZZ.git branch.master.remote=origin branch.master.merge=refs/heads/master
#git config –system –list =>
fatal: unable to read config file '/usr/etc/gitconfig': No such file or directory
[注意:我的安装没有系统配置文件. ]
我对Stack Overflow和Google进行了全面搜索,但在此安装中找不到禁用凭据帮助程序的解决方案.
我怀疑在Xcode层次结构中的某个地方有一个.plist或类似的配置文件,它有一个要禁用的标志,但在git或Xcode文档中找不到它.
一个快速而肮脏的解决方案是chmod Applications / Xcode.app / Contents / Developer /usr/libexec / git-core / git-credential-osxkeychain二进制文件,但这不是很优雅,并且可能会破坏对Xcode的任何更新.
那里的任何Xcode专家都知道Apple在哪里拿着旗帜来关闭这个git功能吗?
解决方法
>进入osx钥匙串应用程序,
>如果您使用的是https,请查找服务器名称
>通过单击更改其设置,并在选项卡“访问控制”标记“询问钥匙串密码”下
>如果需要,请从列入白名单的应用程序列表中删除git-credential-osxkeychain应用程序. (在我的情况下,我必须在此时保存,返回设置并重新启用“询问钥匙串密码”,这在某种程度上再次被禁用.)
请注意,在Linux上,默认行为也是自动发送凭据.