首页 > 解决方案 > 如何通过钩子检查是否有文件删除操作?

问题描述

如何通过钩子检查是否有文件删除操作?

我想要的是,如果有人在某个提交中删除了文件,我可以收到电子邮件警报。

标签: gitgithooks

解决方案


如果您想收到通知(但仍允许推送该删除),您可以在服务器端post-receive编写一个挂钩(假设您可以控制该远程 Git 存储库托管服务器)。

该钩子将循环发送的提交并检查文件删除

#!/bin/sh
while read oldvalue newvalue refname
do
   if [ "$(git log -1  --diff-filter=D --summary $newvalue | grep filename)" ne "" ]; then
     # send email
   fi
done

推荐阅读