[Git] pushしたら403(denied to~)エラーになった時の対応方法


Gitでpushした時に403エラーが発生したので解消方法をメモとして残しておきます。

結論、git remote set-urlでリポジトリの向き先を指定すると解消します。

なぜ起きるのか?1つのPCで複数アカウントを使っていると起きることがあります。

[スポンサーリンク]

Gitで403エラーの解消方法

まずはどのような現象が起こったのかを説明していきます。

Gitコマンドでpushしようとすると、、、

git push -u origin master

こんな風に403が出てしまいます。。

エラーをよく見てみるとpushしようとしているユーザ名が違っていますね。

BBBuserでpushしないといけないのに、YYYuserでpushしようとしている。。。

remote: Permission to xxx/aaaa.git denied to YYYuser.
fatal: unable to access 'https://github.com/BBBuser/xxxxxx.git/': The requested URL returned error: 403

.git/configを見てみてください。

おそらく、こんな感じの記述はないと思います。

>cat .git/config

[remote "origin"]
url = https://BBBuser@github.com/xxx/xxxxxxxxx.git

では、set-urlで追加していきましょう。

リポジトリのユーザのところにBBBuserを指定すればOKです。

git remote set-url origin https://BBBuser@github.com/xxx/xxxxxxxxx.git

ふたたび.git/configをみてみると、さきほどはなかったこちらがでてくるはずです。

これでpushはできるようになります!

>cat .git/config

[remote "origin"]
url = https://BBBuser@github.com/xxx/xxxxxxxxx.git

もう一度こちらでpushしてみてください。

今回はpushできると思います。

git push -u origin master

さいごに

1台のPCで複数アカウトを使っていて、403エラーがでてきたのであれば上記の方法を解消するはずです。

複数アカウントの扱いってもっと簡単になってくれたらうれしいですね。

それでは!