美文网首页
git 组合提交信息

git 组合提交信息

作者: 甜点cc | 来源:发表于2021-11-22 17:39 被阅读0次

背景

系统上线流程里,每次发版都要拆单,生成系统变更号,配合 commitlint 实现提交信息必须关联当前版本的系统变更号,当发版结束的时候,这个系统变更号就失效了,再次使用就会报错。

痛点

校验系统变更号是单向的,本地并不能动态获取系统变更号,每次提交都很麻烦,必须去看一下那长达9位的系统变更号

问题解决

思路分析

既然不能动态获取系统变更号,就在本地定义一个系统变更号的常量,编写脚本嵌入git hooks ,读取本地的系统变更号常量,利用脚本组合提交信息。这样至少在一次发版流程里不用关心系统变更号是什么的问题了,能做的也就这么多了。

代码实现

1、编写 ./git/compose-commit-msg.sh 文件

#!/bin/sh
#echo "system-change-code"

# 获取当前分支
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" ] ; then
echo "NEED SYSTEM-CHANGE-CODE";
exit 1;
fi

# $1 参数 就是 .git/COMMIT_EDITMSG 文件
# cat $1 读取 git commit -m 输入的提交信息
# 组合提交信息
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 -m 'test: 测试提交'

# 回车之后,触发钩子,执行脚本,组合提交信息

# 显示的信息:
[dev 4224456] [abc123456]test: 测试提交_dev_xiao

测试完成🎈🎈

友情链接:

相关shell脚本

git commit 提交类型

相关文章

  • git 组合提交信息

    背景 系统上线流程里,每次发版都要拆单,生成系统变更号,配合 commitlint 实现提交信息必须关联当前版本的...

  • git常用命令

    git add . git commit -m "message"提交,其中message是提交的信息。 git ...

  • git 修改最近的 commit message

    git 修改已经的提交信息 当我们使用 git 提交代码之后我们发现,提交信息描述有问题,想要仅仅修改描述信息而不...

  • git随笔

    git 常用操作 修改提交信息本地撤销修改记录git commit --amend通过此命令进入到提交信息界面,...

  • DevOps之git日志信息解读

    DevOps之git日志信息解读 1 版本信息 2 提交作者 3 提交时间 4 提交mes...

  • git命令第二章

    git commit -m "提交信息一" -m "提交信息二" 这里的-m参数,可以提交任意思多次的提交留...

  • 撤回提交到 gitlab 上的代码

    step1 git log 查看分支上已提交的信息 会有每个提交信息的 commitId step2 git re...

  • 常用git命令

    git pullgit statusgit commit -a -m “提交信息”git pushgit chec...

  • git

    1 git add .2 git commit -m ' 提交的信息 '3 git review -v...

  • git分支合并非常简单

    git add .git commit -m '提交的备注信息'git push -u origin dev...

网友评论

      本文标题:git 组合提交信息

      本文链接:https://www.haomeiwen.com/subject/shvbtrtx.html