GitHub アカウントを切り替えるときに Windows 資格情報を削除して再認証する手順
GitHub のアカウントを切り替えようとしたとき、git push が旧アカウントで実行されてしまう問題に遭遇した。
原因は Windows の資格情報マネージャーに古いアカウントの認証情報がキャッシュされていたため。
環境
- Windows 11(WSL2 ではなく Windows ネイティブの Git)
- 認証方式: HTTPS(Personal Access Token または OAuth)
- Git for Windows
手順
1. Windows 資格情報マネージャーを開く
スタートメニューで「資格情報マネージャー」と検索して開く、または以下で直接起動。
Win + R → control /name Microsoft.CredentialManager
「Windows 資格情報」タブを選択する。
2. GitHub の資格情報を削除する
github.com に関連するエントリを探す。以下のような名前で登録されている。
git:https://github.com
または
GitHub for Windows
エントリを展開して「削除」をクリックする。複数ある場合はすべて削除する。
3. git config のユーザー情報を確認・更新する
グローバル設定に旧アカウントの情報が残っている場合は更新する。
# 現在の設定を確認
git config --global user.name
git config --global user.email
# 新しいアカウントに変更
git config --global user.name "新しいユーザー名"
git config --global user.email "新しいメールアドレス"
リポジトリごとに切り替えたい場合は --global を外してリポジトリのルートで実行する。
git config user.name "新しいユーザー名"
git config user.email "新しいメールアドレス"
4. push して再認証する
git push
実行するとブラウザまたはターミナルで認証ダイアログが開く。新しいアカウントでログインすれば完了。
認証が完了すると資格情報マネージャーに新しいアカウントの情報が自動保存され、次回以降は入力不要になる。
ポイント
資格情報マネージャーに古いアカウントが残ったままだと、git config を変更しても push 時の認証だけ旧アカウントのままになる。user.name / user.email の設定とキャッシュされた認証情報は別物なので、両方を確認するのがポイント。
まとめ
- Windows 資格情報マネージャーで
git:https://github.comを削除 git configでuser.name/user.emailを更新git pushで再認証
アカウントを完全にリセットしたい場合や複数アカウントを使い分けたい場合は、SSH 鍵を使った方法が管理しやすい。