我写了一个批处理来检查和部署 github 中的 rails 应用程序,批处理文件见下文。问题是git.exe fetch origin | find "remote: Counting Objects"
总是返回errorlevel 1
,即使我们有新的提交。我必须先终止 Rails 应用程序,因为某些文件被锁定(*.jars
(,并导致 git pull
命令失败。
我搜索并找到了下面的主题,但即使使用 git.exe
而不是 git.cmd
,问题仍然存在。
- 检查 Git 中是否需要拉取
- git bash:如何检查是否有新的提交可用
我尝试使用临时文件来存储git.exe fetch origin
结果,但如果出现此命令,请始终将结果打印到控制台。
也:
git pull | find "Already up-to-date."
if %errorlevel% == 1 (
工作正常
快速眼动@echo关闭 设置路径=%路径%;C:\Program Files\Git\bin;D:\jruby-1.6.7\bin 设置JRUBY_OPTS=--1.9 git.exe 获取源 |查找"远程:计数对象" 如果 %errorlevel% == 0 taskkill/f/im:jruby.exe git 拉取 |找到"已是最新的"。 如果 %错误级别% == 1 ( 雷姆 开始黄瓜.bat REM 在更新时执行其他操作 ) 快速眼动导轨 任务列表 |找到"Jruby.exe" 如果 %错误级别%==1 ( 回声@rails>轨.bat 回声@exit>>轨.bat 启动CMD/C导轨.bat ) 退出
说它正在崩溃,因为"计数对象"行显示动态进度指示器,但不要引用我的话。
...
git fetch origin
git branch -a --no-merged |find "remotes/origin"
if %errorlevel% == 0 taskkill /f /im:jruby.exe
...
您可能还希望将其限制为仅当前分支:
git branch -a --no-merged |find "remotes/origin/mybranch"