Трябва да деактивирам помощника за идентификационни данни на git за OS X: git-credential-osxkeychain
Използвам git, както е инсталиран от Xcode Command Line Utilities 4.6.2 в OS X Mountain Lion 10.8.3.
В тази инсталация поведението по подразбиране на git pull
или git push
е паролата да бъде запомнена, като по този начин освобождава потребителя от необходимостта да я въвежда отново.
Въпреки че е удобно, това е риск за сигурността в моята ситуация. Трябва да деактивирам помощника за идентификационни данни, така че ще се изисква парола с всяко отдалечено pull
, push
или fetch
.
git, инсталиран с Xcode, изглежда не използва 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
[ Забележка: няма системен конфигурационен файл за моята инсталация. ]
Направих щателно търсене в Stack Overflow и Google, но не можах да намеря решение за деактивиране на помощника за идентификационни данни в тази инсталация.
Подозирам, че има .plist или подобен конфигурационен файл някъде в йерархията на Xcode, който има флаг за деактивиране, но не можах да намеря споменаване за него в git или Xcode документи.
Бързо и мръсно решение би било chmod
двоичният файл Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git-credential-osxkeychain
, но това не е много елегантно и вероятно ще се счупи с всякакви актуализации на Xcode.
Някои експерти по Xcode имат ли идея къде Apple крие флага, за да изключи тази функция git?