Git CI - 如何检查特定文件在新版本上是否更改?

门司见

我正在尝试设置一个简单的 Git CI。

但不是每次都重建,我希望能够检查特定文件(假设requirements.txt)是否在上一个版本/提交和当前版本之间发生了任何更改。

有 git 命令吗?

夜晚

git的差异命令有一个签名限制的路径,所以你可以这样做:

git diff HEAD HEAD~1 --no-patch --exit-code requirements.txt

如果文件在最新提交中更改,则返回码将为 1,否则为 0。然后您可以像这样访问返回代码(在 bash 中):

echo $?

讨论

  • 两个参数 HEAD 和 HEAD~1 是当前分支的尖端(您的最新提交)和它后面的提交。
  • --no-patch 选项会抑制实际的差异输出。
  • --exit-code 参数在存在差异时导致返回码为 1,否则为 0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何更改Azure Git CI部署默认python版本

Codemagic CI:从 Git Tag 获取 android 版本

Git 操作在 npm ci 上失敗

如何知道我是否具有文件的最新版本[git lfs lock工作流程]

git只为Gitlab CI上的LFS文件克隆sha

以编程方式检查git是否有新版本,然后拉

新版本 IntelliJ 上的 git 本地更改发生了什么

从 GIT 构建 VisualStudio CI

Azure Devops 2019 上 CI/CD 的 Git 分支策略

合并提交后在 git ci/cd 上触发脚本

即使我有本地更改,如何从git / sourcetree获取新版本?

如何在gitlab-ci脚本中执行git命令

如何为CI组织两个git repos

如何使所有GIT分支受TFS CI监控?

如何使每个git分支的travis ci构建失败图形不同

在LTS上安装最新版本的git

从 git 上的 master 更新分支,但缺少新版本

在OSX上安装了较新版本的git,但尚未使用。如何找到并使用它?

如何在cygwin上构建和使用最新版本的git?

如何回到Git的最新版本?

如何使用apt安装最新版本的Git?

如何获取最新版本的git?

如何在Azure Pipelines for CI / CD中使用较新版本的Maven构建

如何在我的Travis CI构建中添加libsdl2的最新版本?

如何在CentOS 7.x / 6.x上安装最新版本的git

如何自动添加[skip ci]以在git中的某个分支上提交消息

Git:如何在不下载整个存储库的情况下下载最新版本的存储库文件?

如何和在何处与CI共享Git-Crypt的私钥以解密加密的文件?

在GitLab CI的git clean运行时,如何解决异步过程创建文件的问题?