2014-03-25 68 views
2

有沒有辦法提供用戶名和密碼爲git拉作爲命令行參數?在svn裏有這樣的東西:通過用戶名和密碼爲git拉

svn up --no-auth-cache --username $SVN_USER --password $SVN_PASSWORD 

在git中是否有任何等價物?我無法將憑據存儲在文件系統中。

基本上,我有一個腳本運行構建多個相關的項目。由於該腳本位於共享服務器上,並且由不同的用戶運行,因此我無法將憑據存儲在服務器上。我不想提示用戶,因爲腳本通過單個用戶名/密碼從多個SVN/GIT存儲庫獲取數據,所以我想通過腳本讀取憑證一次,然後將它們傳遞給git pull或svn up命令

回答

0

如果您使用HTTPS,一個解決辦法可能是在this answer

安全的方法是在URL中包含憑據你拉,https://user:[email protected]/path/to/repo。顯然,您的憑證在.git文件夾和/或日誌文件中以純文本格式結束。

安全的方法是在git中配置「憑證助手」。然後,一旦使用它,它將記住憑證。它會將證書安全地存儲在機器上,但是如果您使用系統範圍的配置,它們將適用於所有用戶。例如,對於Windows上的msysgit,我會使用wincred helper:git config --system credential.helper wincred。我的理解是,--system將爲系統上的所有存儲庫和所有用戶啓用證書助手,因此您必須決定此服務器是否可用。免責聲明:我以前只使用過--global。

我還沒有看到你的情況更好的選擇,但一些真正的Git大師的可能插入內容。

+0

不幸的是,我不希望存儲密碼的任何地方 –

+0

因此,腳本必須運行'git像其他用戶一樣登錄到計算機時拉「,但這些用戶不允許手動運行該命令?對於包括SVN在內的任何程序來說,這聽起來是不可能的。你找到方法了嗎? – Vimes

+0

1.我們對所有構建版本都有單一的操作系統用戶2.不同的物理用戶不應該有權訪問其他用戶的git帳戶,這在使用憑證助手時會發生。我會發布我的解決方法。 –

相關問題