合法提交消息的 git 钩子(Hook)(#123 好消息)

标签 git version-control hook commit trac

我需要确保提交消息是合法的,否则会拒绝它。提交信息应该像“#123 fixing missing bracket”

我要确保它以hash开头,有一个整数(没有123a),消息至少10个字。

很高兴:消息不会连续出现完全相同

我将这个 Trac 插件用于变更集,它更详细地描述了提交消息格式 http://trac-hacks.org/wiki/TracTicketChangelogPlugin

谢谢,

最佳答案

您可以创建一个pre-receive Hook ,它根据您喜欢的任何条件拒绝提交——您只需将错误打印到标准输出并以非零状态退出。例如,类似以下内容:

#!/bin/sh
while read rev_old rev_new ref
do
    MALFORMED="$(git rev-list --oneline $rev_old..$rev_new | egrep -v '^[a-f0-9]+ #[0-9]+ ')"
    if [ x"$MALFORMED" != x ]
    then
        echo Some commits had a malformed subject line
        exit 1
    fi
done

(我还没有测试过,但你明白了......)

关于合法提交消息的 git 钩子(Hook)(#123 好消息),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7153927/

相关文章:

git - 禁用 git 添加。命令

database - 在 wordpress 站点 git 上的协作。如何共享数据库?

git - 如何使用 git diff 创建两个电子表格的可读差异?

git 预提交钩子(Hook) : trigger only to actual to be commited code?

git - .gitignore - 忽略目标文件夹中除 1 个 JAR 文件之外的所有文件

delphi - 添加 Sourcegear Vault 支持

svn - 符号在 xcode 中表示类名

git - 预提交钩子(Hook)用于检查 git 中的版本

WordPress:找出哪个钩子(Hook)调用了函数

java - 用c写一个关键的监听器