OS X の git クレデンシャル ヘルパーを無効にする必要があります。git-credential-osxkeychain
OS X Mountain Lion 10.8.3のXcode Command Line Utilities 4.6.2によってインストールされたgitを使用しています。
このインストールでは、git pull
orのデフォルトの動作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://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機能をオフにするフラグをどこに隠しているか知っていますか?