Git
git clone - 失敗而不是提示輸入憑據
在自動化工具(Web 前端、CI 系統)中複製 git 儲存庫時,有時 git clone 呼叫會打開詢問使用者名和密碼的提示(例如,在複製不存在的 Github 儲存庫或在缺少 ssh 密鑰的新節點上時) )。
如何讓 git 失敗(最好帶有合理的錯誤消息和退出程式碼),而不是等待伺服器程序為其提供使用者名和密碼?
在 git 版本 2.3 中有一個環境變數
GIT_TERMINAL_PROMPT
,當設置為0
將禁用提示輸入憑據時。您可以在
man git
(更新到 git 版本後2.3
)或在github 上的這篇博文中獲得有關它的更多資訊。例子:
git clone https://github.com/some/non-existing-repo
將提示輸入使用者名和密碼GIT_TERMINAL_PROMPT=0 git clone https://github.com/some/non-existing-repo
將失敗而不提示輸入使用者名和密碼
如果您正在使用 ssh 身份驗證,並且在 linux 上,那麼您可以創建一個 ssh 命令替換來禁用它。
創建一個名為“sshnoprompt.sh”的文件:
ssh -oBatchMode=yes $@
使這個文件可執行
chmod +x sshnoprompt.sh
然後在啟動 git 時:
GIT_SSH="sshnoprompt.sh" git clone foo@dummyserver:not_a_repo
而且它不允許任何互動式 git 提示或問題——它不應該向使用者詢問任何事情。