我正在和jenkins和git一起工作。我希望在当前提交和当前提交之间得到区别。我想让这个当前和之前的提交id; s在运行时生成。 我在批处理文件中使用它,但它没有执行git rev-parse命令并将hash ID存储在prev_com和curr_com中。任何帮助表示赞赏。
cd "C:\Users\TF255014\Eclipse Projects Repo\Hello World"
set prev_com=${git rev-parse @~}
set curr_com=${git rev-parse HEAD}
echo %prev_com%
git diff %prev_com% %curr_com%
答案 0 :(得分:2)
似乎是在混合bash
和batch
潦草。如果您使用的是Windows,则可以使用“临时”文件将命令的输出分配给变量:
git rev-parse @~ > prev_com.txt
set /p prev_com=<prev_com.txt
git rev-parse HEAD > curr_com.txt
set /p curr_com=<curr_com.txt
或for循环:
for /f %%i in ('git rev-parse @~') do set prev_com=%%i
for /f %%i in ('git rev-parse HEAD') do set curr_com=%%i
以下内容适用于bash
脚本:
prev_com=$(git rev-parse @~)
除此之外,我认为你不需要这两个变量。你可以简单地运行:
git show HEAD
或者,只获得差异:
git show --pretty= HEAD