2015-10-01 62 views
0

我想將git的憑證永久存儲在linux機器上,而git credential.helper不起作用(我想因爲我沒有使用SSH) - 我明白了錯誤「致命:無法讀取'http:// ....'的密碼:沒有這樣的設備或地址」。鑑於我不是存儲庫的管理員,只有HTTP被允許進行身份驗證,幸運的是,我不關心密碼的安全性。我能做些什麼把git pull命令放在bash文件中,並避免提示用戶輸入密碼?使用HTTP存儲git命令的憑證

我希望有一種解決方法。

回答

0

我假設你的倉庫需要驗證拉,否則git不會要求你爲拉的密碼。

建議繞過用戶密碼提示的方法是在該機器上創建一個SSH密鑰,將公鑰添加到git服務器,然後使用SSH遠程URL而不是HTTP/S URL。但是,由於可以明確地說:

我不關心密碼的安全

可以真正地指定的git拉這樣的密碼在線:

git pull http://username:[email protected]/my/repository 
+0

謝謝,是的,這是一個私人回購;所以它需要一個密碼來拉。 –

0

兩個錯誤這樣的問題:

  1. 大多數庫如GitHub的需要HTTPS。即使您試圖通過HTTP進行克隆,它也只是將其在後端切換到HTTPS,並且推送時需要將其作爲 。

  2. 拉不需要密碼,除非它是私人回購。像#1一樣,由於 你沒有提供有關您的回購的信息,因此很難對此進行進一步評論。現在

,我做的是這樣的:

git config --global credential.helper store 

然後第一次按它會詢問您的憑據。一旦你輸入了 ,它們將被存儲在~/.git-credentials中。請注意,它們以純文本形式存儲在 中,您已被建議。

+0

是的,它是一個私人回購。並使用credential.helper存儲不起作用,因爲我的回購基於HTTPS而不是SSH。由於我無法在存儲庫上啓用SSH,因此我必須處理我擁有的內容。 –

+0

@PokaYoke是的,它確實有效。我有8個HTTPS回購,我使用這種方法 –