Git 检测预提交挂钩上的文件模式更改
我想知道是否有人在某些脚本上更改了文件模式,并显示警告,以确保这是有意的,而不是愚蠢的错误 目前,我尝试在预提交挂钩上执行类似操作:Git 检测预提交挂钩上的文件模式更改,git,githooks,Git,Githooks,我想知道是否有人在某些脚本上更改了文件模式,并显示警告,以确保这是有意的,而不是愚蠢的错误 目前,我尝试在预提交挂钩上执行类似操作: mode_changed=$(git diff --summary | grep "mode") #echo "mode change is $mode_changed" if ! [[ -z "$mode_changed" ]]; then echo "Warning Files Modes Changed" fi 如果文件没有进行提交,但只要调用git
mode_changed=$(git diff --summary | grep "mode")
#echo "mode change is $mode_changed"
if ! [[ -z "$mode_changed" ]]; then
echo "Warning Files Modes Changed"
fi
如果文件没有进行提交,但只要调用git commit-a,那么前面的脚本就不再工作,变量模式中的返回值总是空的。还有其他方法吗?要查看阶段性差异,请使用
git diff --summary --staged
(或--cached
,是--staged
的同义词)
您还可以稍微简化您的条件:
if [ -n "$mode_changed" ]; then
要查看阶段性差异,请使用
git diff --summary --staged
(或--cached
,是--staged
的同义词)
您还可以稍微简化您的条件:
if [ -n "$mode_changed" ]; then