git - 如果文件在特定目录下被修改,则运行预提交 Hook

标签 git github githooks pre-commit-hook

我的项目在一个项目中有客户端代码和服务器代码

我只想在修改客户端代码时通过预提交 Hook 运行测试代码。

有没有办法只在特定文件夹下的文件被修改时运行预提交 Hook ?

最佳答案

无法阻止 Hook 的执行,但您可以使用条件阻止大部分脚本的运行。

git diff --cached --name-only --diff-filter=ACM src/ 将返回在 src/ 中添加、复制或修改的文件列表> 文件夹。

在你的 hook 脚本中,使用 wc -l 检查 git diff 命令输出的行数,如果输出为 "0”。

关于git - 如果文件在特定目录下被修改,则运行预提交 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47569904/

相关文章:

在谷歌云构建中使用 git 容器进行 git commit

github - 如何在travis上使用文件模式部署到github?

Git 钩子(Hook)不适用于源代码树

git - 使用 git post-merge 修复权限

Git,不同的下游和上游远程分支

git - 使用 Github 部署 key 时出现权限被拒绝错误

Git:将修改后的文件重置为另一个分支中的状态?

git - SSH代理转发已配置并且(似乎可以)运行,但是github仍然要求输入用户名和密码

windows - Git 存储库文件夹未出现在文件资源管理器中

regex - Git hook commit-msg 以确保提交消息包含符合正则表达式的字符串