GraffitiNote

Pythonistaの情報系大学生がプログラミングやらDTMやらデザインやら

githubの複数アカウントを使い分けるためにsshからhttpsに切り替えた話

プログラミング用と制作用にgithubアカウントを複数使い分けるようにした。
そこで問題になるのがssh-keyをどう切り替えるか。
結論としては、ssh-keyを切り替えるのは面倒なのでhttps方式を採用した。

https方式にするのは簡単で、git clone時に
Use SSH(Clone with SSH)の"git@github.com:~"ではなく
Use HTTPS(Clone with HTTPS)の"https://github.com/~"を指定する。

git push時の設定は
Caching your GitHub password in Git - User Documentation
を参考に認証情報(キャッシュ)を保存するようにする。
~/.ssh/configのHostを弄ったりする必要はない。

……という単純な話だと思ったのだが、git push時に
"remote: Permission to 制作用ユーザ/repository.git denied to PG用ユーザ."
というエラーに悩まされた。
調べても"Permission denied (publickey)"の対処法ばかり出るし、
.sshを爆破したりgit configのglobalもlocalも弄ったりしてもダメだった。

結局、git cloneするときにユーザ名を指定するやり方
"https://ユーザ名@github.com/username/repository.git"
で解決した。

原因が未だに不明なので教えていただけるとありがたいです。



参考にした記事はこちら

qiita.com

yutainoue008.hatenablog.com

te2u.hatenablog.jp