いつもは使っていないアカウントでpushしたらこんなエラーがでた。
$ git push origin master
remote: Permission to user1/hogehoge.git denied to user2.
fatal: unable to access 'https://github.com/user1/hogehoge.git/': The requested URL returned error: 403
user1でpushしたいのにuser2になっている。。
configの見直しをしても全然だめだったが、キーチェーンアクセス設定を見直したら解決した。
不要アカウント情報を削除
アプリケーション => ユーティリティ => キーチェーンアクセスを起動
github.comの項目から user2 アカウントの情報を削除する。
ただ、この後pushするとまたuser2でキーチェーン管理されてしまうので
gitの設定をOFFにしておく。
キーチェーンアクセスで管理しないようにgitの設定をOFF
git config --show-origin --get credential.helper
で返ってきた結果のパスに gitconfig があるのでそこに
helper = osxkeychain
って書いてあるから、これを消す!
注意事項
-
Homebrew経由でインストールした場合のみ対象となります。
-
ファイル名が /Applications/Xcode.app/Contents/Developer/usr/share/git-core/ の場合Xcode経由でインストールしています。この場合は直接ファイルがいじれないようです。
複数gitが存在する場合に優先順を変更する -
Windows環境の方はこちらが参考になるかも
gitでPermisson Errorが出たので--localでname/emailを設定したのに改善しない場合の対応 -
その他動作への検証はしていませんので、自己責任でお願いします。
ただ、これやると毎回ID/PW求められるようになっちゃいますので要注意。