有没有办法通过 prepare-commit-msg 独立地在 `git commit` 上强制发送消息?

Is there a way to force a message on `git commit` indipendently by prepare-commit-msg?

我的 prepare-commit-msg git 挂钩上有一个正则表达式,非常有用!

但是在极少数情况下我想强制执行特定的提交消息,所以我想否决这个钩子。

有办法吗?

我知道标志 -n--no-verify 对这个钩子没有影响?我在寻找不可能的东西吗?

非常感谢

其中一个解决方案是在您想要跳过 prepare-commit-msggit commit.

将调用的其他挂钩时将配置参数传递给 git commit

中钩:

#!/bin/bash

if [[ "$(git config --get my.skip)" = yes ]];then
    echo skip prepare-commit-msg
    exit 0
else
    echo prepare-commit-msg
    # do something
fi

在命令中,

git -c my.skip=yes commit

-n--no-verify相比,配置参数可以更灵活地禁用特定的钩子。如有必要,您可以传递多个配置参数。