Git使用GitHub的Personal access tokens(PAT)存取GitHub repository。
Git使用帳號密碼push到GitHub的遠端repository時,出現下面錯誤訊息無法推送。
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/yourname/yourrepository.git/'
因為帳號密碼已經廢棄不能用了,要改用Personal access tokens的方式來取代帳號密碼來存取repo。注意Personal access tokens只能用於HTTPS url,不支援SSH url。
在GitHub點選右上角使用者頭像,點選[Settings]。
點左側選單下面的[Developers settings]。
點選左側選單的[Personal access tokens]展開選擇[Tokens(classic)]開啟Personal access tokens(classic)設定頁面。
點選Generate new token選擇[Generate new token (classic)]。
然後選擇需要存取的權限後按下方的Generate Token產生token為一段隨機生成亂碼,複製token。
在Git執行git remote set-url origin https://<token>@github.com/yourname/repo.git
將該token設定為存取repo的密碼後即可正常推送。<token>
為剛在GitHub生成的token,yourname
為GitHub帳戶名稱,repo
為要推送的repository名稱。
或是直接push,然後在Password貼上token。
% git push
Username for 'https://github.com': <yourname>
Password for 'https://yourname@github.com': <token>
或參考「Mac 使用SSH Key push到GitHub repository」。
沒有留言:
張貼留言