見出しの通りにWindows環境でのGitHubの複数アカウント認証でハマった。仕事用のアカウントに上げてたリポジトリで汎用的に使えそうなやつを個人用に移そうとして、しばらく手間取ったのと、それを調べても一つの情報源で解決しなかったのでここにまとめておく次第。
エラー内容
$ git push -u origin master
remote: Permission to <移行先アカウント>/<リポジトリ名>.git denied to <移行元アカウント>.
fatal: unable to access 'https://github.com/<移行先アカウント>/<リポジトリ名>.git/': The requested URL returned error: 403
git config
もしたし、一通り怪しそうなファイルも見たけどどこにも元のアカウント情報は残ってない。似たような事象で検索した結果が以下。
- GitHub - GitHubでpushをするとPermission deniedされるエラーに関して|teratail
- git - githubへgit pushしようとすると403エラーとなる - スタック・オーバーフロー
- Git - 認証情報の保存
- Git Credential Managerを無理やりMSYSでも使う - Qiita
- Git Credential Manager for Windows (GCM) のアップデート(v0.9 Beta) | OPCDiary
資格情報マネージャー
これまで一度も存在を意識したことがなかった、こいつが認証情報を持っていた。macOSだとキーチェーンみたいなものだろう。
資格情報マネージャーを開いて、_汎用資格情報_に_git:https://github.com_の項目があり、これを削除してgit push
したら、エラーなく行けた。良かった良かった。