从Windows批处理脚本自动缓存git凭据?

时间:2014-03-08 09:51:39

标签: windows git caching batch-file git-config

这是我第一个正确的Windows批处理脚本之一;所以请善待:

set /p GIT_CACHE="Cache git credentials?: " %=%
if /i {%GIT_CACHE%}=={y} (goto :cache)
if /i {%GIT_CACHE%}=={yes} (goto :cache)
if /i {%GIT_CACHE%}=={[yes]} (goto :cache)
goto :skip_cache
:cache
for %%X in (git-credential-winstore.exe) do (set FOUND2=%%~$PATH:X)
if NOT DEFINED FOUND2 (
    curl -o git-credential-winstore.exe "http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=gitcredentialstore&DownloadId=672532&FileTime=130119839935000000&Build=20885"
    gitcreds.exe -s
    curl -O "https://github.com/downloads/anurse/git-credential-winstore/git-credential-winstore.exe" -k
    if exist (C:\Progra~2\Git\libexec) (
        copy git-credential-winstore.exe "C:\Progra~2\Git\libexec\git-core")
    if exist (C:\Progra~1\Git\libexec) (
        copy git-credential-winstore.exe "C:\Progra~1\Git\libexec\git-core"))
git config --global credential.helper winstore
:skip_cache

不幸的是,脚本的下一行(使用git)给了我这个错误:

  

致命:'credential-winstore'似乎是一个git命令,但我们无法执行它。也许git-credential-winstore坏了?

1 个答案:

答案 0 :(得分:2)

在{(msysgit)上看起来git现在随wincred开箱即用:

git config --global credential.helper wincred

<强>参考https://github.com/msysgit/git/commit/e2770979fec968a25ac21e34f9082bc17a71a780