命令提示符提供与git bash不同的输出

时间:2013-11-20 20:02:46

标签: git bash batch-file jenkins cmd

所以我试图在Jenkins中执行批处理脚本:

for /f %%i in ('git rev-list --count %BRANCH_NAME% ^^%MERGE_TO%') do set commits=%%i

其中%BRANCH_NAME%和%MERGE_TO%传入Jenkins作业。执行时,这是输出:

C:\Program Files (x86)\Jenkins\jobs\Merge\workspace>for /F %i in ('git rev-list --count branch ^mrgbld') do set commits=%i 

C:\Program Files (x86)\Jenkins\jobs\Merge\workspace>set commits=2305

命令应该返回5,而不是2305.事实证明,如果你在git bash中运行该命令,你得到5,但是在Windows命令提示符下运行它(Jenkins执行命令)给出2305。

我正在寻找一种方法来欺骗Jenkins在git bash中运行命令,或者让windows命令提示符给出相同的输出。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用不同形式的git命令可以解决问题:

git rev-list --count %MERGE_TO%..%BRANCH_NAME%

这将返回正确的提交数,无论是在git还是在windows命令中运行