2016-10-11 117 views
1

我想從.bat文件自動克隆回購。git克隆沉默不起作用

我使用ssh,所以.bat文件首先將「id_rsa」文件移動到「user\.ssh」文件夾。

然後,當我運行「git clone ssh://repo c:\repo」,我得到這個問題

The authenticity of host can't be established. 
RSA key fingerprint is ........ 
Are you sure you want to continue connecting (yes/no)? 

如果我回答是手動它的工作原理,並在「user\.ssh」文件夾中創建「known_hosts」文件。現在,如果我運行.bat文件,則git clone將不會有問題。

我需要從.bat文件中靜默地執行此操作。
我試圖從.bat文件中回答yes並添加「> /dev/nul 2>&1」,但沒有成功。

任何想法?

回答

0

您應該嘗試改編「Can I automatically add a new host to known_hosts?」,以便將遠程服務器添加到%USERPROFILE%\.ssh\known_hosts

即使從您的Windows bat腳本中,您也可以使用/ path/to/git/bin/bash -c'...'命令。

c:\path\to\git\bin\bash -c 'ssh-keyscan -t rsa,dsa HOST 2>&1 | sort -u - ~/.ssh/known_hosts > ~/.ssh/tmp_hosts && mv ~/.ssh/tmp_hosts ~/.ssh/known_hosts' 

這使您可以使用Linux命令,如grep,sort,...這是git分發的一部分。

0

你使用的是更新的bash嗎?基本上你在這裏做的是重定向到/ dev/null,這是「無處」。如果你想靜靜地做,你可以嘗試git clone [email protected]:username/repo directory -q

0

爲了使它工作,至少現在,我從另一個服務器下載known_hosts文件和id_rsa。