我正在将git pre-commit挂钩强制作为服务器端的预接收挂钩或更新挂钩,并且无法找到实现它的适当示例。
我能够成功实施/测试预提交挂钩
#!/bin/bash
echo "Running pre-commit hook"
checks=($APPSETTING_DEVPASSWORD $APPSETTING_DEVUSER $APPSETTING_DEVPASS_ELMAH) # create an array
git diff --cached --name-status | while read flag file; do
if [ "$flag" == 'D' ]; then continue; fi
for word in ${checks[@]}
do
if egrep -q "$word" "$file"; then
echo "ERROR: Disallowed expression \"${word}\" in file: ${file}" >&2
exit 1
fi
done
done
我正在尝试将其转换为服务器端钩子,在钩子中钩子应查找checks数组,如果差异包含checks数组中的值,则以1退出。
在线找到信息
Bitbucket服务器仅包含基本存储库,不包含本地存储库中的文件,因此,在推送时需要评估commit sha的差异。
有人可以帮助将其转换为服务器端git钩子吗?