我正在尝试设置一个简单的Git CI。
但是,我希望能够检查特定文件(假设requirements.txt
(是否在最新版本/提交和当前版本/提交之间发生了任何更改,而不是每次都重建。
有没有 git 命令?
git diff 命令有一个签名来限制路径,所以你可以这样做:
git diff HEAD HEAD~1 --no-patch --exit-code requirements.txt
如果文件在最新提交中发生更改,则返回代码将为 1,如果未更改,则返回代码为 0。然后,您可以像这样访问返回代码(在 bash 中(:
echo $?
讨论
- 两个参数 HEAD 和 HEAD~1 是当前分支(您的最新提交(的提示和它后面的提交。 --
- no-patch 选项禁止显示实际的差异输出。 --
- exit-code 参数导致返回代码在存在差异时为 1,否则为 0。