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
相关产品推荐
相关产品推荐

