あるタイミングから git push ができなくなってしまいました。。
GitHub のアカウントも削除し同一名で作り直しても、Windows に入っている Git も入れ直したのに全然改善されない。。
Google 検索するも解決に繋がる回答が全然見つからなく、もう GitHub 使うの諦めようと思っていました。
が、丸 1 日時間を費やした結果、なんとか英語サイト (Stack Overflow) で解決策を見つけることが出来ました。。 マジ感謝!
絶対に同じように悩んでいる方がいると思いましたので、記録しておきます。
問題の現象
一番最初に GitHub 上にレポジトリを作成すると下記のようなサンプルコードが表示されます。
echo "# <レポジトリ名>" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/<ユーザー名>/<レポジトリ名>.git
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
エラーをよく読むと、<昔のユーザー名> が何やら悪さしている事がわかりました。。
が、その情報がどこにあるのか全く不明です。なんてこった!
持っている最大限の Google 検索スキルを駆使し、なんとか下記方法で解決できました!
解決方法 ①: “.gitconfig” ファイルの情報を修正する
“.gitconfig” ファイルの <ユーザー名> が新しいユーザー名かを確認しましょ!
下記方法で可能です。
- コマンドプロンプトから実行:
git config --global --edit
- ファイルを直接変更: “C:\Users\<ユーザー名>\.gitconfig” を notepad などで開き、編集
え?まだ解決されないですって?
はい、自分もそうでした。次の方法を試しましょ。
解決方法 ②: Windows の資格情報マネージャから情報を削除
上記の修正後も解決しない場合、Windows が資格情報マネージャ (Credential Manager) がを保存している可能性があります。
(参考にした Stack Overflow)
下記手順で情報を削除して下さい。
- [スタート] ボタンを選択して「コントロール パネル」にクリック
- [ユーザー アカウント] > [資格情報マネージャー] をクリック
- この画面に GitHub に関連する項目がある場合、[削除] を実行
その後、再度 “git push” し、下記が表示されれば成功で!
まとめ
git の使い方も勉強始めたばかりなのに、設定ファイルがどこにあるかなんて全く不明です。
今回に関しては GitHub でなく Windows 側がエラーの原因だったので余計に解決に時間がかかりました。
この記事が少しでも多くの人に役立ってもらえれば幸いです。。