我似乎无法在我的批处理脚本中获取变量以正确减去。我有以下内容:
set /P head=<..\BUILD_NUMBER.dat
echo %head% > ..\HEAD.dat
set desired=%5
echo %desired% > ..\test.dat
set /a "version=%desired%-%head%"
echo %version% > ..\version.dat
git checkout @{%version%}
echo %desired% > ..\BUILD_NUMBER.dat
echo %desired% > ..\build\BUILD_NUMBER.dat
.. \ HEAD.dat的内容是正确的,但是没有别的。
基本上,我尝试做的是从git中检出特定的修订号,使用rev-list --count来获取HEAD值,然后从所需版本中减去该值以获得负偏移量。 git checkout命令。
答案 0 :(得分:0)
说到git命令,你可以用bash编写你的脚本,然后用任何CMD Windows运行它,bash -c ./yourScript.sh
确保以unix模式编写shell脚本(lf中的行尾,而不是crlf)。
你会发现你在bat脚本中尝试的间接查找在bash脚本中要容易得多:
#!/bin/bash
head=$(cat ../BUILD_NUMBER.dat)
...