Git预先提交在特定文件夹中搜索已定义的字符串,发现拒绝提交,如果找到另一个字符串,则在另一个文件中搜索另一个字符串

时间:2018-08-14 11:46:14

标签: git hook pre-commit-hook pre-commit

我正在尝试建立一个预提交钩子,该钩子将在文件夹中查找并搜索该文件夹中的所有文件,以查看其中是否存在特定字符串(如果随后拒绝提交)

我还需要它在另一个文件夹中查找所有文件,以查找与上面不同的另一个字符串,如果找到,则拒绝提交。

我不知道从哪里开始,所以将不胜感激。

如果有区别,我需要搜索的两个文件夹都位于存储库的根目录中

我发现了此预提交,并认为可以使用它,但是将其更改为搜索两个文件夹

FILES_PATTERN='\.(rb|js|coffee)(\..+)?$'
FORBIDDEN=( debugger ruby-debug )

for i in "${FORBIDDEN[@]}"
do
  git diff --cached --name-only| grep ".js" |xargs sed 's/ //g'|grep "ha_mobile.debug=true" && \
        echo 'COMMIT REJECTED Found ha_mobile.debug=true references. Please remove them before commiting' && exit 1

  git diff --cached --name-only | \
        grep -E $FILES_PATTERN | \
        GREP_COLOR='4;5;37;41' xargs grep --color --with-filename -n $i && \
        echo 'COMMIT REJECTED Found'  $i 'references. Please remove them before commiting' && exit 1
done

exit 0

0 个答案:

没有答案