在git pre-receive hook中访问更改文件并搜索字符串模式

时间:2018-10-16 23:51:05

标签: bash git unix github

我有一个预提交脚本/钩子,可以很好地在文件中搜索特定的字符串模式并拒绝提交。我不确定如何在预接收脚本中读取传入文件以搜索字符串模式。

我的预提交脚本如下:

#!/usr/bin/env bash

if git rev-parse --verify HEAD >/dev/null 2>&1
then
    against=HEAD
else
    # Initial commit: diff against an empty tree object
    EMPTY_TREE=$(git hash-object -t tree /dev/null)
    against=$EMPTY_TREE
fi

FILES=$(git diff --cached --name-only $against)

if [ -n "$FILES" ]; then

string1 = $(grep -rE --line-number 'access_key' $FILES)

   if [ -n "$string1" ] then
            echo "string1 there so reject it"
        while true; do
                exit 1;

         done
  fi
fi

我不确定如何将其转换为git服务器端的预接收钩子脚本。 我已经尝试了好几个小时没有运气。有人可以帮我吗?

0 个答案:

没有答案