1、编写 ./git/compose-commit-msg.sh 文件
#!/bin/sh# 获取当前分支line=$(head -n +1 .git/HEAD)branch=${line##*/}echo "branch: $branch"# 获取变更号user=`cat .git/system-change-code.txt | grep systemChangeCode`user=${code##*=}echo "code: $code"# 获取当前提交者的信息user=`git config user.name`echo "user: $user"if [ -z "$code" ] ; thenecho "NEED SYSTEM-CHANGE-CODE";exit 1;fi# $1 参数 就是 .git/COMMIT_EDITMSG 文件# 组合提交信息commit=[$code]$(cat $1)" "${branch}_${user}# echo "所有参数: $*"echo "commit-msg: $commit"# 将组合的信息重新输出到 .git/COMMIT_EDITMSG 文件echo "$commit" > "$1"
2、编写 .git/system-change-code.txt 文件
# 定义系统变更号常量(自己维护)systemChangeCode=abc123456
3、在 commit-msg hooks里面载入compose-commit-msg.sh脚本
修改 .git/hooks/commit-msg 文件
#!/bin/bash
# husky
# 加入下面代码
. "$(dirname "$1")"/compose-commit-msg.sh
4、提交测试
# 保留git commit 的类型
git commit -m 'test: 测试提交'
# 回车之后,触发钩子,执行脚本,组合提交信息
# git log 查看提交的信息:
[abc123456]test: 测试提交 dev_xiao
