在某些情况下,我希望在提交更改时不要触发.git挂钩。准备提交-MSG
有没有一种简单的方法可以通过命令行来抑制它们(可能类似于--no-verify
)
答案 0 :(得分:1)
我能做的最好的(至少这确实回答了这个问题)是获取父级的命令行并寻找传递给它的“ -n”或“ --no-verify”。
if ps -o args= $PPID | grep -E -q ' --no-verify| -n | -n$' ; then
: # they skipped the commit-msg hook, so skip this hook too!
else
: # do your hook code here
fi
我确定那里有更好的代码,我只是找不到任何示例!
答案 1 :(得分:0)
你可以用一个环境变量来做到这一点:
SKIP=prepare-commit-msg git commit
答案 2 :(得分:-1)
这是一种可行的方法,虽然不方便。
1.定义一对git配置密钥和值。
git config my.hook true
2.使用钩子中的键和值。
if [ "$(git config --get my.hook)" == "true" ];then
#do something
fi
3.如果要绕过此挂钩,请先运行git config my.hook false
。