背景:
项目由于git进行管控,对commit的日志需要进行规范化输出,git的hooks默认管控单仓库,在.git/hooks里面,默认关闭,如果启用的话将后缀.sample去掉。系统提供的commit检验是git文本的最后是否有空格,根据规定,需要进行规则自定义,实现项目提交记录如:
1.增加:..功能;(xxx-xxx)
2.修改:..功能;(xxx-xxx)
3.解决:..问题;(xxx-xxx)
4.删除:删除某部分代码或资源文件的过程;(xxx-xxx)
5.备注:说明一个过程或者需要阐述某个阶段的变化内容;(xxx-xxx)
6.优化:在逻辑或者设计结构上进行代码优化或者规范化的调整;(xxx-xxx)
一、创建脚本
1、commit-regulars
^[0-9].增加:..*;\(.*-.*\)$
^[0-9].解决:..*;\(.*-.*\)$
^[0-9].备注:..*;\(.*-.*\)$
^[0-9].优化:..*;\(.*-.*\)$
^[0-9].修改:..*;\(.*-.*\)$
^[0-9].删除:..*;\(.*-.*\)$
这个脚本主要为自定义的政策匹配规则
2、commit-msg
#!/bin/sh
fileName=$1
message=$(<$fileName)
# 提交内容的正则表达式文件名,一行一个正则
regularFileName=".git/hooks/commit-regulars"
success=0
echo $message
while IFS='' read -r line |