You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git预提交钩子脚本:检测文件权限变更并阻止提交

检测Git文件权限变更的预提交钩子

我想要实现Git提交前的自动检测:如果有文件权限发生变更,就阻止提交并给出错误提示。

以下是我编写的预提交钩子代码:

git diff --summary | grep "mode change"
if [ $? -eq 0 ]
then
  echo "检测到文件权限变更,请确认并恢复原有权限"
  exit 1
else
  echo "未检测到文件权限变更,可以继续提交,加油!"
fi

这段代码的工作逻辑很直接:用git diff --summary获取当前待提交内容的变更摘要,通过grep查找是否存在权限变更(即包含"mode change"的记录)。如果检测到权限变更,就输出提示并以非0状态退出,从而阻止提交;如果没有检测到,则提示正常并允许提交流程继续。

内容的提问来源于stack exchange,提问作者Uncharted __084

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:10:36