【发布时间】:2023-04-10 14:45:33
【问题描述】:
我正在尝试使预提交挂钩起作用,以检查暂存文件并读取差异以检查一些字符串。如果字符串存在,则提交必须失败。
#!/bin/bash
#import os
echo "Running pre-commit hook"
checks=os.environ["APPSETTING_DEVPASSWORD"],os.environ["APPSETTING_DEVUSER"],os.environ["APPSETTING_DEVPASS_ELMAH"]
git diff --cached --name-status | while read x file; do
if [ "$x" == 'D' ]; then continue; fi
for word in $checks
do
if egrep $word $file ; then
echo "ERROR: Disallowed expression \"${word}\" in file: ${file}"
exit 1
fi
done
done || exit $?
即使文件中存在字符串,它仍会提交文件。任何指导将不胜感激。我对 bash 还很陌生。
【问题讨论】:
标签: bash git pre-commit-hook