GitHub への認証方法を SSH から https に変更する際の落とし穴
以前、GitHub に SSH
接続をしましたが、推奨が https
ということで、今回は https
で接続しました。
最初から https
で設定する人にはそこまで参考にならない記事ですが、SSH
で接続した際に .git/config
や ~/.gitconfig
の設定を変えた覚えがある人は参考になるかもしれません(要するにこれらの設定が悪さをしていた)。
※ GitHub に SSH で接続する際に詰まったこと - conpot4の日記 ← 自分の場合はこの記事の最後の設定が原因でした。
目次
環境
- MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
- macOS Catalina バージョン 10.15.7
SSH の情報を消しておく
SSH
の情報が残っているとそれで接続されてしまう可能性があるので削除します。
git config
の設定を確認
以下のコマンドで .git/config
に記載されているリモートリポジトリの URL を確認できます。
$ git config remote.origin.url
URL が https なら...
こちらの結果が以下の場合、問題なく https
接続できるはずです。
https://github.com/<ユーザー名>/<リポジトリ名>.git
駄目な場合は ~/.gitconfig
下の設定を確認 を参照してください。
URL が SSH なら...
以下の場合は SSH
で接続されてしまっています。
git@github.com:<ユーザー名>/<リポジトリ名>.git
以下のコマンドで .git/config
の URL を https
に書き換えます。
$ git remote set-url origin https://github.com/<ユーザー名>/<リポジトリ名>.git
再び git config remote.origin.url
コマンドで確認した結果が https
に変わっていたら成功、接続できるはずです。
駄目な場合は ~/.gitconfig
下の設定を確認 を参照してください。
~/.gitconfig
下の設定を確認
自分の場合は ~/.gitconfig
の以下の設定が悪さをしていました。
SSH 接続に切り替える設定です。
~/.gitconfig
はglobal 設定なので、local 設定の .git/config
より優先されます。
したがって、いくら .git/config
をいじっても変化がなかったということです。
[url "github:"] InsteadOf = https://github.com/ InsteadOf = git@github.com:
これを消して完了!