我在Bash脚本中使用git clone
,该脚本接受任何类型的Git位置(HTTPS,Git,SSH,文件系统......)并将其克隆。但是此脚本必须在不与任何用户交互的情况下工作更确切地说,我希望这个脚本不要暂停凭据:如果位置需要凭据,并且git无法自己找到它们,我希望Git失败。
如果您没有设置正确的方式来访问这些没有密码的位置,我的脚本会假设它并不是它的顾虑。但是,解决方案应该让方法知道故障是什么(输出错误"身份验证失败"例如)。
我之所以需要这种行为只是因为它是一个脚本,它是以非交互方式运行的(cron job,VM building ...等......)。我需要它失败,不要冻结我的脚本,等待我无法提供的信息(并且不要去)。
因此,在我目前的担忧中,我要求git clone
失败而不是询问凭据。
我在git clone
中找不到任何强制NOT请求凭证的选项,最好是在验证错误时失败。
答案 0 :(得分:11)
更新:> 2.3
:
GIT_TERMINAL_PROMPT=0
对于以前的版本:
这是强制失败的诀窍:
GIT_ASKPASS=/bin/echo git clone ...