一、什麼是認證信息
在使用 Git 進行代碼版本管理時,我們可能會從遠程倉庫 clone 或拉取代碼,或者將代碼 push 到遠程倉庫去。而這些操作都需要進行身份驗證,否則就無法進行相應的操作。
Git 使用 HTTPS 或 SSH 來與遠程倉庫進行通信,其中 HTTPS 方式認證信息存儲在本地的 Git 配置中,在每次向遠程倉庫推送代碼時會需要輸入用戶名和密碼;SSH 方式通過公鑰、私鑰的方式來進行認證,但是如果你使用的是有密碼保護的私鑰,那麼每次還是需要輸入密碼來進行認證。
二、在 Git 中記住用戶名和密碼
如果每次推送代碼都需要輸入用戶名和密碼的話,那將會很麻煩。Git 提供了一個緩存機制,可以將認證信息緩存到本地,避免在每次 push 時都需要輸入用戶名和密碼。
可以通過以下命令來開啟緩存機制:
git config --global credential.helper cache
這命令會讓 Git 在一段時間內(默認 15 分鐘)緩存你的 Git 憑據,也就是你的用戶名和密碼。之後你就不用再次輸入密碼了。
如果想要更改默認緩存時間,可以使用以下命令:
git config --global credential.helper 'cache --timeout=3600'
這裡將緩存時間設為 3600 秒,也就是 1 個小時。
三、在 Git 中使用 SSH 來認證
SSH 方式認證是使用公鑰、私鑰的方式,相比 HTTPS 方式認證更加安全和方便。
以下是 SSH 認證的一般流程:
- 生成密鑰對:使用 ssh-keygen 命令生成公鑰和私鑰,其中私鑰需要保護好。
- 將公鑰添加到遠程倉庫:將公鑰內容添加到遠程倉庫的 SSH key 列表中。
- 在本地配置私鑰路徑:告訴 Git 使用哪個私鑰來進行認證。
下面是具體的操作步驟:
- 生成密鑰對:
- 將公鑰添加到遠程倉庫:
- 進入個人設置 -> 外觀 -> SSH and GPG keys -> New SSH key。
- 將剛剛生成的公鑰內容拷貝到 key 中,並添加 title。
- 最後點擊 Add SSH key 保存即可。
- 在本地配置私鑰路徑:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
這裡我們指定了演算法為 RSA,長度為 4096,以及你的郵箱地址。
這個操作需要進入到遠程倉庫的網站上進行,以 GitHub 為例,具體操作如下:
這個操作需要在本地進行。
首先找到自己的私鑰路徑,通常為 ~/.ssh/id_rsa 或 ~/.ssh/id_dsa 等文件,然後添加以下內容到 ~/.ssh/config 中:
Host github.com
IdentityFile ~/.ssh/id_rsa # 這個換成你對應的私鑰路徑
這裡我們以 GitHub 為例,如果是其他的 Git 倉庫,將 Host 改為對應的地址即可。
四、使用 Git Credential Manager 來管理認證信息
Git Credential Manager 是一個工具,可以幫助用戶管理認證信息,它支持 Windows, macOS 和 Linux 系統。
以下是 Git Credential Manager 的操作步驟:
- 下載 Git Credential Manager:
- 使用 Git Credential Manager:
可以從 Git 官網上下載最新的 Git Credential Manager。
在使用 Git Credential Manager 之前,需要先通過以下命令來告訴 Git 使用 Git Credential Manager:
git config --global credential.helper manager
之後 Git 會在執行相關命令時自動調用 Git Credential Manager 來進行認證。
原創文章,作者:FFCI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146036.html