介紹如何設定 git 自動儲存帳號與密碼,避免每次輸入帳號與密碼的麻煩。
每次使用 git 的 push
與 pull
等指令,都會需要輸入 git 伺服器的帳號與密碼,如果不想每次執行都要打一次帳號與密碼,可設定讓 git 自動將帳號與密碼儲存起來:
# 設定自動儲存帳號與密碼 git config --global credential.helper store
接著執行任何一個需要帳號與密碼的 git 指令(例如 push
或 pull
等):
# 下載更新內容
git pull
當輸入完帳號與密碼之後,git 就會自動將這一組帳號與密碼儲存至 ~/.git-credentials
這個設定檔中,若需要修改帳號或密碼,可以直接從這個檔案來修改,而這個檔案的權限只有自己能夠讀取。
另外一種更改帳號與密碼的方式是直接將 ~/.git-credentials
這個檔案刪除,再重新執行一次需要帳號與密碼的 git 指令,讓 git 重新建立該設定檔。
這樣設定好之後,未來當 git 需要帳號與密碼的時候,就會自動從設定檔中讀取,使用者就可以不需要再以鍵盤手動輸入,對於程式開發者來說會方便很多。
如果因為安全性考量,不希望將帳號與密碼儲存在硬碟中,可以改用 cache
模式,讓帳號與密碼自動儲存在記憶體中(維持 15 分鐘):
# 設定自動暫存帳號與密碼(存在記憶體 15 分鐘) git config --global credential.helper cache
這樣當使用者輸入帳號與密碼時,git 就會自動將帳號與密碼暫時存放在記憶體中 15 分鐘,在這段時間之內,當 git 需要帳號與密碼時,就會直接使用這個暫存的帳號與密碼,不需要再次輸入。
如果要自訂帳號與密碼的暫存時間,可以用 --timeout
參數指定時間(單位為秒),例如將暫存時間設定為一小時:
# 帳號與密碼暫存一小時 git config credential.helper 'cache --timeout=3600'
若在 Mac 的系統上,也可以使用 Mac 內建的鑰匙圈存取功能來存放 git 的帳號與密碼,讓系統統一進行加密保護:
# 設定自動儲存帳號與密碼(Mac 鑰匙圈存取) git config --global credential.helper osxkeychain
參考資料:StackOverflow