Git credential.helper = cache никогда не забывает пароль?

Я хочу, чтобы мой пароль был забыт, поэтому я должен снова ввести его.

Я установил это:

git config credential.helper 'cache --timeout=600'

но намного позже, через несколько дней, он все еще помнит пароль и больше не спрашивает меня...

git версия 1.7.10.4 (в Ubuntu)

Я столкнулся с ошибкой? (как я вижу подобные вопросы, но никто не нашел, что ответы на это...)

EDIT: или я что-то пропустил?

EDIT: теперь я знаю, что commit является локальным, а push - удаленным. НО мои коммиты (с RabbitVCS Git nautilus addon), похоже, выполняют push по мере обновления удаленного репо... Когда я выдаю push, он запрашивает пароль... но с commit команда не запрашивает и выполняет удаленное обновление; Я проверил, что 4 часа назад мой commit обновил удаленный сервер: (

Ответ 1

Проблема 1: "хочу, чтобы мой пароль был забыт" git

Проблема 2 (подразумевается): противоречивые настройки конфигурации

Ответ

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

Объяснение: Конфигурация Git указана в трех местах:

  • (repository_home)/. git/config........................... для тематического репозитория.
  • ~/.gitconfig.......................... для этого конкретного пользователя.
  • /etc/gitconfig....................... для всех пользователей этой системы.

Приведенные выше команды удаляют все настройки, связанные с учетными данными в репозитории, на уровне пользователя и системы... который (я думаю) отвечает на ваш вопрос.

Однако похоже, что ваша проблема может быть ограничена наличием какого-либо противоречия конфигурации, связанного с одним параметром credential.helper, cache. Если вы предпочитаете reset только этот параметр, сделайте следующее:

git config --unset credential.helper 'cache'
git config --global --unset credential.helper 'cache'
git config --system --unset credential.helper 'cache'

... затем установите тайм-аут на соответствующем уровне, любой из:

git config --set credential.helper 'cache --timeout=600'
git config --global --set credential.helper 'cache --timeout=600'
git config --system --set credential.helper 'cache --timeout=600'

Подробнее см. здесь превосходную документацию: