過去に別の GitHub アカウントで作業していた Windows 環境を、個人 GitHub アカウントだけが見える状態に切り替えたいケースは意外と多いです。複数アカウント運用をやめるとき、副業を本業に切り替えるとき、開発端末を引き継いだときなど。
私は AI × ソロ起業を始めるとき、Windows のあちこちに古い GitHub 認証情報が残っていることに気づきました。具体的には:
- gh CLI に古いアカウントでログインしたまま
- Windows 資格情報マネージャに古い PAT (Personal Access Token) が保存されている
~/.ssh/configに古い Host エントリが残っている (これは無害だが整理対象)
このまま個人 GitHub で push すると、コミットの author が古いアカウントになる事故が起きます。3 経路を綺麗にして、個人 GitHub だけが Windows から見える状態 に切り替える手順を書きます。所要 30分。
目次
- なぜ 3 経路ある — 認証情報の保存場所マップ
- gh CLI からのログアウト
- Windows 資格情報マネージャから PAT を削除
- 個人 GitHub 用 SSH 鍵に統一
- remote URL を SSH 形式に変更
- 動作確認 (個人アカウントで commit が走るか)
1. なぜ 3 経路ある — 認証情報の保存場所マップ
GitHub への Windows からの認証経路は実質 3 つあります:
| 経路 | 保存場所 | 用途 |
|---|---|---|
| gh CLI (GitHub 公式 CLI) | gh CLI の内部設定ファイル + Windows 資格情報マネージャ | gh pr create 等の API 操作 |
| Git over HTTPS | Windows 資格情報マネージャ (Git Credential Manager Core) | git push (HTTPS remote の場合) |
| Git over SSH | ~/.ssh/ の鍵ファイル + ssh-agent |
git push (SSH remote の場合) |
gh logout だけやっても、Windows 資格情報マネージャに残った PAT が Git Credential Manager Core で再利用されてしまいます。3 経路すべて潰す 必要があります。
2. gh CLI からのログアウト
PowerShell で:
PS> gh auth status
github.com
✓ Logged in to github.com account old-account-name (...)
PS> gh auth logout
? What account do you want to log out of? github.com
✓ Logged out of github.com account old-account-name
その後、個人アカウントでログインし直す:
PS> gh auth login
? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations on this host? SSH
? Generate a new SSH key to add to your GitHub account? No (既に作ってある)
? How would you like to authenticate GitHub CLI? Login with a web browser
ブラウザでワンタイムコードを入力 → 個人アカウントでログイン。
PS> gh auth status
github.com
✓ Logged in to github.com account your-personal-handle
3. Windows 資格情報マネージャから PAT を削除
「コントロール パネル → ユーザー アカウント → 資格情報マネージャー → Windows 資格情報」 を開く。
一覧から git:https://github.com や github.com で古いアカウントの PAT が登録されているエントリを探して、「削除」 をクリック。
PowerShell でもできます:
PS> cmdkey /list | Select-String github
PS> cmdkey /delete:git:https://github.com
複数エントリある場合は順次削除。自分が削除しようとしているのが古いアカウント分かどうか を cmdkey /list の出力で確認してから消すこと。
4. 個人 GitHub 用 SSH 鍵に統一
旧い SSH 鍵が ~/.ssh/ に残っているはずです。古い鍵 (例: id_ed25519 一般名で作っていた場合) は削除し、個人 GitHub 用に 専用ラベルの鍵を新規生成 します:
PS> ssh-keygen -t ed25519 -C "your-email@example.com" -f $HOME\.ssh\github_id_ed25519
公開鍵を個人 GitHub に登録 (Settings → SSH and GPG keys → New SSH key)。
~/.ssh/config に Host エントリを書く:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_id_ed25519
IdentitiesOnly yes
IdentitiesOnly yes は重要で、これを書かないと OpenSSH が登録済みの他鍵 (古い鍵が残っている場合) を順番に試してしまい、誤った鍵で認証されたり rate limit を消費したりします。
旧鍵 (例: id_ed25519) はもう不要なので削除:
PS> Remove-Item $HOME\.ssh\id_ed25519
PS> Remove-Item $HOME\.ssh\id_ed25519.pub
5. remote URL を SSH 形式に変更
既存リポジトリの remote URL が HTTPS のままだと、push 時に Windows 資格情報マネージャを再度呼び出してしまいます。SSH 形式に切り替えます:
PS> cd C:\Users\user\dev\projects\your-repo
PS> git remote -v
origin https://github.com/your-personal-handle/your-repo.git (fetch)
origin https://github.com/your-personal-handle/your-repo.git (push)
PS> git remote set-url origin git@github.com:your-personal-handle/your-repo.git
PS> git remote -v
origin git@github.com:your-personal-handle/your-repo.git (fetch)
origin git@github.com:your-personal-handle/your-repo.git (push)
複数リポジトリ管理している場合は、すべてに対して同じ作業を行います。
6. 動作確認 (個人アカウントで commit が走るか)
最終確認: 個人アカウントの commit author で push できているか。
PS> git config user.name "Your Personal Name"
PS> git config user.email "your-email@example.com"
PS> git commit --allow-empty -m "chore: verify github account switch"
PS> git push
GitHub 上のコミット履歴で author が個人アカウントのアバター + 名前 になっていれば成功です。古いアカウントのアバターが出ていたら、git config user.email を確認・上書きします。
まとめ
GitHub 認証情報の整理は、3 経路 (gh CLI / Windows 資格情報マネージャ / SSH 鍵) を順に潰すのがポイントです。
放置すると、個人アカウントで作業しているつもりが古いアカウントの commit になっていたり、PAT が想定外に流出したりするリスクがあります。アカウント切り替えのタイミングで 30分の整理時間を確保するのが推奨です。
PAT (Personal Access Token) は 2024年以降 SSH 認証より priority が下がった ため、今は 個人アカウントは SSH 鍵だけで運用するのが定石 です。Windows 資格情報マネージャからは GitHub 関連エントリは全部消して構いません。
次に読むおすすめ
- XServer SSH + ssh-agent を Windows で永続化する完全手順 (2026年版)
- ai-company を GitHub プライベートリポジトリで PC 移行可能にする手順 (2026年版)
CTA
X 会社アカウントをフォロー: @ai_shacho_jp — 自動化スクリプト・実装ログを毎日投稿しています。
