背景
当我们接收一份新的代码,代码拿到手要做的第一件事就是 git log,看看这份代码的提交记录,最近提交的情况,做了些什么。但往往看到的 git log 杂乱无章,不知道每次提交到底是做了些什么。由此可见,在团队中,CHANGELOG 的重要性不言而喻,不仅有助于他人帮忙 review 代码,熟悉代码,也能高效的输出 CHANGELOG,对项目管理也至关重要。我们本文介绍使用 git 的服务端 hook 来针对 change log 进行校验,拦截不符合我们规范的提交。
服务端 hook 介绍
服务端 git hook 分为三种,分别是 pre-receive、update、post-receive,这三个步骤就是我们本地 push 完代码服务端要做的事情,如图所示:

我们可以在 pre-receive 阶段来做提交信息的校验,如果不符合我们的要求,直接返回非 0,则该推送便不会推送到 gitlab 仓库中去。
配置服务端 hook
环境配置
gitlab 版本:13.2
hook 配置
-
找到要配置仓库在 gitlab 中存储的路径,但因 gitlab 的仓库自某个版本开始采用 hash 存储,我们想要知道仓库对应的物理路径,需要到 gi

本文介绍了如何利用git服务端hook的pre-receive阶段进行提交信息的校验,确保团队的提交记录整洁有序。通过配置服务端hook,可以拦截不符合规范的提交,提高代码审查效率和项目管理质量。在gitlab 13.2版本中,需查询数据库获取仓库物理路径来设置hook,代码示例展示了一个Python版本的实现。此方法还可以扩展与其他系统如jira集成,打造定制化的工具。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



