問題
先日git pullしようとした時こんなエラー(?)が出てうまくpullできませんでした。
$ git pull origin master
Password for 'https://ghp_xxxxxxxxxxxx@github.com':
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/xxxxxxxxxxxx/'
メッセージにも書かれているようにどうやら2021年8月13日からGithubへのアクセスはパスワードではなくて個人のアクセストークンが必要になった模様です。
解決策🧙♀️
自分のgithubのページに行きます。
右上の自分のアイコンのマーク→Settings→Developer settingsと行き、
そのページのPersonal access tokensタブのToken(classic)タブを選択します。
で、ここでアクセスするためのトークンを作ります。
左上のGenerate new tokenからGenerate new token (classic)を選択。
Noteのところはトークンの名前、Expirationのところでトークンの有効期限を設定します。
チェックは以下のようにしました。「repo」と「admin:repo_hook」と「delete_repo」にだけチェックを入れています。
で、トークンを作成したら、そのトークンを使って以下のようにトークンを追加します。
$ git remote add origin https://ghp_XXXXXXX(生成したトークン)@github.com/xxxxx/xxxxx.git
ghp_XXXXXXX(生成したトークン)は生成したトークン、
xxxxx/xxxxx.gitのところはリポジトリの名前
で適宜変えてください。
これで、pullができるようになります。
「error: remote origin already exists.」 が出たら
「git remote add origin https://ghp_XXXXXXX(生成したトークン)@github.com/xxxxx/xxxxx.git」のコマンドを実行した際に、
git remote add origin https://ghp_XXXXXXX(生成したトークン)@github.com/xxxxx/xxxxx.git
がでたら以下のコマンドを実行すると解消されます。
$ git remote rm origin