我需要禁用 OS X 的 git 凭证助手:
git-credential-osxkeychain
我正在使用 git,由 OS X Mountain Lion 10.8.3 中的 Xcode Command Line Utilities 4.6.2 安装。
在此安装中,
git pull
或git push
的默认行为是为了记住密码,从而使用户无需再次输入密码。
虽然方便,但在我的情况下这是一个“安全风险”。我需要禁用凭据助手,以便每个远程 pull
、push
或
fetch
需要密码。
随Xcode
安装的git似乎没有使用git config
来设置此功能。这是我的设置:
# git --version
=>
git version 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://[email protected]/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
[ 注意:我的安装没有系统配置文件。 ]
我在
和 Google 上进行了彻底的搜索,但找不到在此安装中禁用凭据助手的解决方案。 我怀疑 Xcode 层次结构中的某个位置有一个 .plist 或类似的配置文件,其中有一个要禁用的标志,但在
git或 Xcode 文档中找不到任何提及它的信息。 一个快速而肮脏的解决方案是
chmod
Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git-credential-osxkeychain
二进制文件,但这不是很优雅,并且可能会因 Xcode 的任何更新而中断。有任何 Xcode
专家知道 Apple 将标志隐藏在哪里以关闭此 git 功能吗?
进入 osx 钥匙串应用程序,
问:“你知道苹果在哪里隐藏了关闭这个 git 功能的标志吗?”
credential.helper
git config --global credential.helper ''
如果是配置文件引起的,配置文件在哪里?
我的查找如下:
$git config credential.helper
osxkeychain
--system
/
--globle
/--local
配置为空(或没有文件)。
git config --list --showorigin
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig
credential.helper = osxkeychain
和 int.defaultBranch = main
。无法使用 git config
system
或 global
或 local
配置来覆盖内容。