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

标签 git exception commit githooks

我的 prepare-commit-msg git 钩子(Hook)上有一个正则表达式,它的作用就像一个魅力!

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

有办法吗?

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

非常感谢

最佳答案

解决方案之一是当您想要跳过 prepare-commit-msg 或其他由 调用的 Hook 时,将配置参数传递给 git commit >git 提交

在钩子(Hook)中:

#!/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相比,配置参数可以更灵活地禁用特定的钩子(Hook)。如果需要,您可以传递多个配置参数。

关于git - 有没有办法通过prepare-commit-msg独立地在 `git commit`上强制发送一条消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55709671/

相关文章:

android - ArrayIndexOutOfBoundsException 与 ListView 中的多个 View 的自定义 Android 适配器

eclipse - 我可以在保存/提交/上传时向 Eclipse 中的源文件添加元数据吗?

git - 在本地禁用 `git push --force`

c++ - 为什么在编译时不检查 C++ 异常规范?

c# - 设置自定义异常的消息而不将其传递给基本构造函数

git - 从 Git 恢复无法读取 blob,文件现在具有不同的哈希值?

java - 我应该在每次执行批处理后提交吗?

python - 连接到 mercurial pretxncommit。并且不能导入请求模块?

Git 错误 : Encountered 7 file(s) that should have been pointers, 但不是

git - 如何强制子树推送覆盖远程更改?