命令查找在上次提交中是否更改了给定目录下的任何内容

时间:2016-12-01 21:18:00

标签: git

为了加速在CI期间运行测试,我需要知道给定目录是否在上一次提交中更改了该目录中或其下的任何内容,因此我可以跳过该目录的测试。

这样的命令是否存在?我不是在寻找更改的特定文件,只是为了一个命令退出1,如果有任何更改,否则为0。

1 个答案:

答案 0 :(得分:2)

由于您提到CI,我假设您正在编写脚本。然后你应该使用“plumbing”(低级)命令。这样做:

if git diff-tree --quiet --exit-code HEAD^:"$subdir" HEAD:"$subdir"
then
    # no change
else
    # there was a change
fi