git clone silent不起作用

时间:2016-10-11 07:26:44

标签: windows git ssh

我正在尝试从.bat文件自动克隆回购。

我使用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)?

如果我手动回答是,则可以使用" known_hosts"文件在" user\.ssh"中创建夹。现在,如果我运行.bat文件,git clone将无问题地工作。

我需要从.bat文件中默默地执行此操作 我尝试从yes文件回复.bat并添加" > /dev/nul 2>&1"但没有成功。

有什么想法吗?

3 个答案:

答案 0 :(得分: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'

这允许你使用像grep,sort,...等linux命令,它们是git发行版的一部分。

答案 1 :(得分:0)

您使用的是更新后的bash吗?基本上你在这里做的是重定向到/ dev / null,这是“无处”。如果你想静静地做,你可以试试git clone git@gitlab.com:username / repo directory -q

答案 2 :(得分:0)

为了使它工作,至少现在,我从另一台服务器下载known_hosts文件和id_rsa。