GitHubにpushしようとしたらアカウントが競合してpushできないときの対処法

Githubのプライベートアカウントを最初に作り、パブリックアカウントを後から作りました。
パブリックアカウントでpushしようとしたらエラー...

Permissionと403エラー

プライベートアカウント→ユーザーA
パブリックアカウント→ユーザーB

remote: Permission to ユーザーA/リポジトリ名 denied to ユーザーB.
fatal: unable to access 'https://github.com/ユーザーA/リポジトリ名': The requested URL returned error: 403

間違えてプライベートアカウントでcloneしてた?
まずは状況確認

git config --global --list
user.name=ユーザーB
user.email=ユーザーBのメアド

ちゃんとパブリックアカウントになってる...
「Github push permission 403」でググりました

緊急解決策の参考

GitHub リポジトリに git push したら Permission が denied

取り急ぎ解決策として

$ git remote set-url origin https://hoge@github.com/hoge/abc.git
$ git push origin master
Password for 'https://hoge@github.com': 

パスワード入れると無事に push されました(^^)

↑の通りでpushできました
しかし、再度pushしようとしたところ同じエラーが出てpushできず...

cloneしなおす

cloneするときのURLにユーザー名入れると認証されると読んだので試してみる(どこで読んだかわからなくなりました...すみません)
ローカルリポジトリを一旦削除して再びclone

git clone https://ユーザーB@github.com/ユーザーB/リポジトリ名

ユーザーB@ を追加してます

再度push...

成功!!

テストとして何度かpushしても大丈夫だったので、この方法でアカウントが認証されたということでしょう

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.