是否可以编写一个Windows脚本,在脚本中间执行"git .bat“,这样脚本就可以继续运行?对我来说,这总是令人兴奋的。
我在Windows7企业版SP1上使用的是来自“Git开发社区”的64位Git版本2.8.3。git.exe位于我的路径(c:\program files\git\cmd\git.exe)中-它不是通过git.cmd或类似文件间接执行的。
我能够运行一系列命令,比如
git init
git add --all
git commit -m "commit message"并且使用这些命令,批处理脚本执行每个命令继续正常。使用
git clone {url}脚本立即退出,通常会出现两次提示,表示某种异常退出(即使%ERRORLEVEL%为0):
git clone {url} new
Cloning into 'new'...
remote: Counting objects: 26, done
remote: Compressing objects: 100% (23/23) done.
remote: Total 26 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (26/26) done.
Checking connectivity... done.
c:\jdev\ppss\finalprep\ant2>c:\jdev\ppss\finalprep>常见的Windows技巧,比如使用“调用git克隆...”和"cmd /c git克隆...“似乎不起作用。甚至“启动/wait命令/c git克隆...”不会这样做的。
有什么想法吗?
发布于 2016-09-06 21:57:20
"git clone“后面的一行是IF语句:
git clone {url} subfolder
if "%var%" == "y" (
@echo some commands went here
) else (
@echo different commands went here
}上面的IF语句不是合法的DOS if语句(否则就不好了),但是你没有从DOS得到任何错误信息--你的脚本只是退出。看起来像是前面的命令导致了中止,在我的例子中恰好是git克隆。
这与git没有任何关系,严格说来是cmd.exe的胡说八道。
发布于 2016-09-06 21:11:57
在失败的特定情况下,由于先前的"mkdir“,"git clone”正在写入的子目录已经存在。没有mkdir -没有已经存在的子目录-批处理脚本在git克隆后继续正常运行,也不需要任何特殊的技巧,比如cmd /c。
https://stackoverflow.com/questions/39349208
复制相似问题