git log 生成 changeLog
在进行git仓库的自动化管理时,发布前往往需要CI服务器自动生成 CHANGELOG.MD
,本文介绍如何自动changeLog.md自动生成的思路。
文章目录
生成流程
- 多次 commit -m “xxx”
- 使用命令
git log > log
生成提交记录 log 文件 - 处理 log 文件提取关心的信息, 然后转成
CHANGELOG.MD
文件.- 思路:(log文件中包含了所有的commit信息, 包括id, author, date以及comment等)
- 前提:需要规范团队 git commit 的格式,才能保证自动生成
为什么基于commit的, 不是基于merge?
因为merge信息的获取需要使用gitlab提供的API, 不如获取commit来的方便('git log > log’一条命令即可)。大多数的开源仓库的changelog也是基于commit
关键问题
- 如何规范团队 git commit 的格式?
这个问题并不是难题,关键是如何让团队成员容易掌握提交格式(简单通用),又方便程序处理(格式规范),我们可以联想到使用提交模板来解决。
- 可以对 git 客户端进行增强(如 IDEA 的插件)
- 但如果某些成员不用 IDEA ,那就不能轻松的记住提交格式
-
使用 Git 自带的提交模板 Commit Template 来解决
在命令行里 git commit
时,自动使用设置的编辑器打开设置的模板。开发者只需在预设模板的基础上添加或修改相应内容即可。(个人项目通常选择这种方式,简单)