Windowsのバージョン2.9.2.windows.1でGitを使用しています。
私はリポジトリプロジェクトに取り組んでおり、プッシュを行うと、GitHubのユーザー名とパスワードを入力するように求められました。 GitHubのユーザー名とパスワードの両方を入力して、プロジェクトを更新しました。
次回のプッシュでは、ユーザー名とパスワードの入力を求められなくなりました。プロジェクトに対するすべての変更が更新されます。
ユーザー名とパスワードが「保存」されているようです。どうすればそれらを「保存解除」できますか?
どうすればサインアウトできますか?
私は試した
git config --global --unset user.name
git config --global --unset user.email
git config --global --unset credential.helper
しかし、彼らは私をサインアウトさせません。
サインインをクリアしたいので、次にプッシュを行うときに、ユーザー名とパスワードの入力を再度求められます。
解決策が見つかりました(VonCに感謝):
コントロールパネル→ユーザーアカウント→資格情報の管理→Windows資格情報→Generic Credentials GitHubに関連する資格情報がいくつかあります。それらをクリックし、「削除」をクリックします。
私がサインアウトしたので、次にプッシュを行うときに、ユーザー名とパスワードの入力を求められます。
まず、ユーザー認証はuser.name
およびuser.email
git configとは関係ありません。
2つ目は、古い回答 " gitから資格情報を削除 "と比較して、 Windows用の最新のGit は Git資格情報を使用しますマネージャー (Git 2.9.2 => GCM 1.5. ).
git config --global credential.helper manager
設定(git config -l
)を確認し、「manager」がそこに登録されているかどうかを確認します。
V1.3.0(2016年4月)以降、 資格情報を削除する削除コマンド があります。
git credential-manager delete <url>
2018の更新:「delete
」は非推奨になりました。reject
を使用してください:
git credential-manager reject <url>
Git config credential-managerがストアを返す場合、Gitは「ストア」モードを使用します。これは、資格情報をディスク上のプレーンテキストファイルに保存し、期限切れになることはありません。
type %USERPROFILE%\.git-credentials
資格情報をプレーンテキストで保存するため、その特定の資格情報ヘルパーを構成から削除します。
OP Lord Rixuel は実際に確認します コメント内 これはネイティブのWindows Credential Manager機能であり、自動的に(Gitかどうかにかかわらず)資格情報を提供します。
「資格情報の管理」オプションが表示されます。好奇心からそれをクリックし、「Windows資格情報」をクリックします。「一般的な資格情報」の下に「
git:github.com
」があります。 「削除」オプションです。 [削除]をクリックしました。Git Pushを実行すると、ユーザーとパスワードを再度要求されます。ログアウトしたいときにまさに欲しいもの。
Windows 10の場合、PCに異なるログイン(MSFTアカウント)があり、GitHubが別のログインにある場合、コントロールパネル→ユーザーアカウントに移動して資格情報マネージャーを検索すると、「Web資格情報」と「Windows資格情報」が表示されます。
GitHubは、PC(Microsoftアカウント)に登録されているデフォルトIDを使用しているようです。 Windows Credentialsで、GitHubログインの詳細を削除し、Pushを再試行します。 GitHub IDとパスワードを明示的に要求されます。ログインすると、Git Pushの個人アクセストークンとして保存されます。
この問題の理由:
1.以前にログインしたアカウント資格情報は、Windows資格情報に保存されます。
2.これにより、Gitbashでエラーが発生し、新しい資格情報のログインが許可されません
解決策の手順に従います。
コントロールパネル->ユーザーアカウント->資格情報の管理-> Windows資格情報-> Generic Credentialsの下に、Githubに関連する資格情報がいくつかあります。それらをクリックし、「削除」をクリックします。
これにより、以前のログインは問題なく削除されます。 Gitbashコンソールには、ログイン資格情報を保存するためにログイン資格情報を要求する新しい新しいログインチェックが用意されています。
複数のアカウントを使用している場合(これが私をここに連れてきたのです)、グローバルGit構成で資格情報マネージャーの設定を解除し、プロンプト画面を使用する方がより効果的です。
クレデンシャルマネージャーのドキュメントでは、現時点では必要最低限のものであるため、複数のアカウントを管理する方法を見つけることができませんでした。
別のアカウントでログインしており、そのアカウントにはこのリポジトリへのアクセス権がないため、mac osを使用している場合は、キーチェーンアクセスに移動し、gitlab.com
を検索して削除しますそれをもう一度git cloneしてみてください。
また、SSHキーがある場合は削除することを忘れないでください。資格情報を削除しても、SSHキーがある場合は、自動的にログオンできます。
後で、アカウントを変更する場合:
git config --global user.name "new name"
git config --global user.email "new email"
git config --list
git help
git help commit