如果存在对master分支的合并提交(其中更改了配置文件中的特定行),我试图让Jenkins触发特定的脚本。在master上检查合并提交很容易。问题是我不知道如何检查合并前后的差异。
我一直试图在脚本中使用if语句来使用git diff
。我发现似乎最接近正确差异的最佳示例是:
git diff -G'changed_field=' HEAD^ HEAD -- config.cfg
由于很难从作业的控制台输出中确切地看到Jenkins中发生的事情,所以我能确定的是,由于我没有看到任何输出,因此没有选择更改。当我在本地分支上运行该差异以检查我对master的最后2次提交时,差异确实起作用。
答案 0 :(得分:0)
如果HEAD是合并提交,则至少可以执行以下操作:
git show @
# or, more precisely:
git show @:/config.cfg
对于提交,它显示日志消息和文本差异。
它还以git diff-tree --cc
产生的特殊格式显示合并提交。
这将显示此合并之前的内容以及添加/删除的内容。