Password
如何為不同的 git repos 設置使用者名和密碼?
─[$] cat ~/.gitconfig [user] name = Shirish Agarwal email = xxxx@xxxx.xxx [core] editor = leafpad excludesfiles = /home/shirish/.gitignore gitproxy = \"ssh\" for gitorious.org [merge] tool = meld [push] default = simple [color] ui = true status = auto branch = auto
現在我想將我的 git 憑據放入 github、gitlab 和 gitorious,這樣每次我不必在瀏覽器上查找憑據。如何做到這一點,使其自動化?
我正在執行 zsh
使用 SSH
處理 git 身份驗證的常用方法是將其委託給 SSH。通常,您在遠端儲存庫(例如 在 GitHub 上)中設置您的 SSH 公鑰,然後在需要驗證時使用它。當然,您可以使用密鑰代理,由您的桌面環境處理或手動使用
ssh-agent
andssh-add
。為避免必須指定使用者名,您也可以在 SSH 中進行配置,在
~/.ssh/config
; 例如我有Host git.opendaylight.org User skitt
然後我可以使用複製
git clone ssh://git.opendaylight.org:29418/aaa
(注意那裡沒有使用者名)。
使用
gitcredentials
如果 SSH 方法不適用(例如,您正在使用通過 HTTPS 訪問的儲存庫),git 確實有自己的方式來處理憑據,使用
gitcredentials
(並且通常git-credential-store
)。您使用指定您的使用者名git config credential.${remote}.username yourusername
和憑證助手使用
git config credential.helper store
(指定
--global
是否要在任何地方使用此設置)。那麼當你第一次訪問一個倉庫時,git 會詢問你的密碼,並且它會被儲存(預設在
~/.git-credentials
)。對儲存庫的後續訪問將使用儲存的密碼,而不是詢問您。警告:這確實將您的憑據明文儲存在您的主目錄中。因此,除非您了解這意味著什麼並且對風險感到滿意,否則這是不可取的。