[Git]Github 新的 authentication 設定

Github 從 8/13 開始將以前的 password 認證方式刪除了,這裡記錄我解決的方法。


1. 使用 ssh

情況:

  • 之前已 clone 下來的 repo
  • 修改後要 push 碰到下面的錯誤訊息
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/shihs/to-do-list-app.git/': The requested URL returned error: 403

Step 1: Enabling two-factor authentication

Step 2: 加 ssh key

Step 3: 重新 push

  • git remote set-url origin git@github.com:[your-github-name]/[repo-name].git
  • 重新 add 和 commit 修改,就可以 push 了

但這樣的方法還是很麻煩……每一支 reop 都要重新 git remote set-url origin ... 所以另一個方法是使用 personal access token

Reference: GitHub Support for password authentication was removed (August 13, 2021) - Solution


2. 使用 personal access token

這裡的方法是在 Mac 的操作。

Step 1:

Step 2: 將 create 出來的 token 加到「鑰匙圈」裡

  • 使用 spotlight 搜尋「keychain」
  • 在 keychain 上搜尋「github」,找到 github
  • 點選下方「顯示密碼」,並將密碼改成剛剛在 github 上 create 的 token

現在可以任意地使用之前 clone 下來的 repo 了,不過如果剛剛 create token 有時間限制,之後必須要再重新建立新的密碼並修改。

Reference: Solved - Support for password authentication was removed - Github - Mac and Windows