###### tags: `Git` `Github` # 改用 token 登入 github Github 規定在命令列要用 token 登入, 不能用使用帳密: 1. 要改用 token, 請參考[如何產生 token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)。 2. 要讓 git 記住登入資訊, 可以參考 [Credential stores](https://github.com/GitCredentialManager/git-credential-manager/blob/main/docs/credstores.md) 以下會以 Windows 和 Linux 示範記錄登入資訊。 ## 刪除 Windows 上記錄的 Github 帳密 Windows 上的 Github 帳號是由**認證管理員 (Credential Manager)** 記錄, 刪除的步驟如下: 1. 在**搜尋**欄中輸入『認證管理員』找到後執行: ![](https://i.imgur.com/dXuSyKZ.png) 1. 切換到**Windows 認證**頁次: ![](https://i.imgur.com/Hhi8ild.png) 1. 往下捲就會看到 Github 相關的認證: ![](https://i.imgur.com/Vn02aB2.png) 1. 個別點選後刪除認證即可。 ## 改用 token 認證 之後只要進行和 Github 相關的操作, 就會出現登入畫面: ![](https://i.imgur.com/CyeqjW0.png) 填入剛剛產生的 token 登入即可。 ## 在 Windows 上儲存帳號密碼 如果之前沒有設定, 你可能會需要每次都重新鍵入帳號、密碼, 這時可以鍵入以下指令記錄帳號密碼: ``` # 設定自動儲存帳號與密碼 git config --global credential.credentialStore wincredman ``` ## 在 Linux 上儲存密碼 Linux 上可以存到 GPG 檔 ```bash $ git config --global credential.credentialStore gpg ``` 要為 GPG 初始化之前需要先產生金鑰, 請鍵入以下指令後照提示完成: ```bash $ gpg --gen-key ... pub rsa3072 2022-04-04 [SC] [expires: 2024-04-03] 1B460470F71........5ACC6299E0DB94A647021 uid meebox <meebox@gmail.com> sub rsa3072 2022-04-04 [E] [expires: 2024-04-03] ``` 利用以下指令初始 GPG, 後面的參數就是剛剛建立金鑰時指定的使用者名稱: ```bash $ pass init meebox mkdir: created directory '/home/meebox/.password-store/' Password store initialized for meebox ``` :::info 你可能會需要安裝 pass 套件。 ::: 接著就可以存取 github: ```bash $ git push ``` 他會先跳出以下視窗要你登入, 請使用 token 登入: ![](https://i.imgur.com/vyLJuGb.png) 這樣就可以了。