網頁

2022/10/27

GitHub 使用Personal access tokens推送remote repo

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」。


沒有留言:

張貼留言