我正在制作一个自动克隆我们的存储库的批处理文件,但它会在进行之前要求输入密码。我想要的是我只需要硬编码(或者如果有其他方式)我的密码。如果它提示/询问密码,它将自动输入我在我的代码中指定的密码...基于我的小研究(因为大多数都是相同的解决方案)......
我得到了这样的代码
@echo off
echo <password>| git clone <repository url> <output path>
pause
但它似乎没有做到这一点。
谁能帮助我吗?请???答案 0 :(得分:0)
您只需使用克隆网址(user:password
)
http://user:password@myserver.com/repo.git
即可
或者您可以使用GIT_ASKPASS
,因此在您的批处理文件中:
GIT_ASKPASS
设置为echo批处理文件的路径在Windows批处理文件中,它可能是类似的东西(灵感来自jenkins-git-client):
@echo off
REM Create askpass batch
>askpass.bat echo @set arg=%%~1
>>askpass.bat echo @if (%%arg:~0,8%%)==(Username) echo USERNAME
>>askpass.bat echo @if (%%arg:~0,8%%)==(Password) echo PASSWORD
set GIT_ASKPASS=%cd%\askpass.bat
REM Clone
git clone <repository url> <output path>
REM Remove askpass batch
del askpass.bat
不确定git是否会接受批处理文件作为ASKPASS,或者你是否必须使用shell脚本,但我希望你明白这一点。