使用git
,如何在Circle CI作业中了解我们正在构建的差异是否包括src
之外的更改。
如果只对src
进行更改,我想终止CI。
我可以使用哪个命令来检查当前CI中是否有src
以外的内容发生了更改?
尝试:
git diff --name-only <something> HEAD | grep -v "^src/"
和
- 检查是否有一些行
- 或检查最终返回代码(成功=
src/
之外有一些更改,失败=src/
之外没有更改(
要将当前提交与从master分叉的点进行比较,请使用:
git diff --name-only master...HEAD # 3 dots
[更新]
需要注意的是:git diff master...HEAD
意味着您在本地克隆上拥有所有回购的历史记录(或者至少:在当前分支和master
分支中有足够的提交,可以到达这些分支的分叉点(。
如果您激活了一些";稀疏结账";或";浅克隆";选项,该选项显式地仅在本地获取最后一次提交。
您可以明确地";深化";分支机构的历史:
git fetch --deepen=1000 origin master
git fetch --deepen=1000 origin [active branch]
如果你不在本地查看master
,你可能不得不与origin/master
进行比较:
git diff --name-only origin/master...HEAD
如果您有浅克隆问题,您可能还想查看git服务器的API。
例如:使用github的API,如果您有pull请求的标识符,则可以使用Pulls:list文件来获取该pull请求修改的文件列表。