Подтвердить что ты не робот

Отключить git credential-osxkeychain

Мне нужно отключить помощник учетных данных для OS X: git credential-osxkeychain

Он отключен как в глобальном файле конфигурации, так и в локальном, на самом деле он имеет никогда ben. Тем не менее, он запоминает мои данные для входа в github.
Я нахожусь на ноутбуке, поэтому я не хочу автоматического доступа без доступа к моим репозиториям.
I будет использовать ssh-ключи. Это новый компьютер, и вся установка системы все еще продолжается. На данный момент я использовал репозитории https repo, и вспомогательный помощник продолжает пинать.

Это мои файлы conf:


git config --edit = >

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = false
[remote "origin"]
    url = https://github.com/user/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "develop"]
    remote = origin
    merge = refs/heads/develop
[branch "deploy"]
    remote = origin
    merge = refs/heads/deploy

git config --global --edit = >

[user]
    email = ****************
    name = tom
[color]
    ui = true
[core]
    editor = subl -w
[github]
    user = tompave
[merge]
    conflictstyle = diff3
[push]
    default = simple

Кроме того, запуск git config --global credential.helper не возвращает ничего (и это право).

Однако запуск git config credential.helper возвращает osxkeychain!

Как это возможно? Я не вижу его в локальном файле конфигурации, где он установлен?

Я попытался настроить его локально, чтобы узнать, что произойдет, и < > появится в repodir/.git/config. Затем я удалил запись... но помощник все еще здесь и активен.

Я могу видеть его запись в keychain OS X.
Я могу удалить его, а затем git снова запросит пароль... но как только я его напечатаю (скажем, для git fetch), запись в цепочке ключей восстанавливается,

4b9b3361

Ответ 1

Чтобы отследить настройку, я попытаюсь использовать:

git config --local credential.helper
git config --global credential.helper
git config --system credential.helper

Первый проверяет локальную конфигурацию репо, вторая - ~/.gitconfig, а третья - на том, где установлен git. В зависимости от того, какой из них возвращается с помощью помощника учетных данных, вы можете попробовать использовать эквивалентную опцию --unset:

git config --local --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper

Последний может не работать, если у вас нет соответствующих разрешений. Таким образом, вам может понадобиться запустить последний в sudo, чтобы он работал правильно. FWIW, вы можете установить для предварительно созданных изображений git для Mac OS X. Если вы cat /usr/local/git/etc/gitconfig, вы увидите, что он настроил помощник учетных данных для вас. Поэтому последняя команда выше поможет исправить эту проблему.

Ответ 2

Другие ответы были очень полезными. Credential.helper не показывался для меня ни в одном из списков (указав --local, --global и т.д.), И он всегда показывался в 'git config -l'. Команда -show-origin показала, что она поступает из файла, специфичного для OS X.

$ git config --show-origin --get credential.helper
file:/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig    osxkeychain

Ответ 3

Самой конфигурации (git config --unset credential.helper) недостаточно.
Не забудьте убить любой git-credential-osxkeychain процесс (как описанный здесь), или посмотреть, сохраняется ли проблема после перезагрузки.

Кроме того, при использовании GitHub для Mac проверьте, есть ли эта конфигурация, используемая внутри этого инструмента.
Помните, что только git config проверяет системный, глобальный и локальный файл конфигурации.

Примечание: с помощью git 2.9 вы можете просто установить credential.helper в "пустую строку", чтобы отключить его: см. "Как отключить учетные данные git помощник для одного хранилища?".