web-dev-qa-db-ja.com

git credential.helper = cacheはパスワードを決して忘れませんか?

パスワードを忘れてしまいたいので、もう一度入力する必要があります。

私はこれを設定しました:

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

しかし、ずっと後の数日、それはまだパスワードを覚えていて、私にそれを再び尋ねません...

gitバージョン1.7.10.4(Ubuntu)

バグに遭遇しましたか? (同様の質問がありますが、これに答える質問は見つかりませんでした...)

編集:または私は何かが欠けていますか?

編集:commitがローカルで、Pushがリモートであることがわかりました。しかし、私のコミット(RabbitVCS Git nautilusアドオンを使用)は、リモートリポジトリが更新されているため、Pushを実行しているようです...Pushを発行すると、パスワードを要求されます...しかし、 commitコマンドは要求せず、リモート更新を実行します。 4時間前にcommitがリモートサーバーを更新したことを確認しました:(

13
Aquarius Power

問題1:gitによる「パスワードを忘れてほしい」

問題2(暗黙):矛盾する構成設定

回答

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

説明:Git構成は3つの場所で指定されています:

  1. (repository_home)/。git/config ...........................サブジェクトリポジトリ用。
  2. 〜/ .gitconfig ..........................この特定のユーザー用。
  3. / etc/gitconfig .......................このシステムのすべてのユーザー。

上記のコマンドは、リポジトリ、ユーザー、システムレベルの資格情報に関連するすべての設定を削除します...これは(私が思うに)あなたの質問に答えます。

ただし、問題はcredential.helperのoneオプションに関連するある種の構成の矛盾に限定されているようですキャッシュ。そのオプションのみをリセットしたい場合は、次のようにします。

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'

詳細については、こちらの優れたドキュメントを参照してください。

  1. git configコマンド
  2. git資格情報のキャッシュ
26
HisHighnessDog