自动生成git commit记录用以统计个人项目周报,全组项目周报,版本差异记录等
例子
# 生成个人周报 -> xxx.md$ ./gen-log.sh# [2018-02-27]# * feat: sss# * feat: xxx# * chore: xxxsss# [2018-02-28]# * fix: xxx# * chore:fff# * chore:ggg# [2018-03-01]# * chore: xxx# * chore: xxx# * feat: xxx# [2018-03-02]# * fix:sdfdsf# [2018-03-05]# * feat: xxx复制代码
# 生成个人周报覆盖已有文件$ ./gen-log.sh -f复制代码
# 生成团队周报 -> 20xx.xx.xx.md$ ./gen-log.sh -a ''# [2018-02-26]# * refactor: sdfa (dachui)# * fix: 1639 (顾重)# * feat: gggg (dachui)# * feat: aaaaa (dachui)# [2018-02-27]# * chore: sdf (dachui)# * chore: 代码格式化 (dachui)# * chore: sdf (顾重)# [2018-02-28]# * fix: 1111 (顾重)# * chore: 22222 (dachui)# [2018-03-01]# * chore: vvvv (顾重)# * chore: ssss (顾重)# * feat: bbbb (顾重)# * fix: asdf (dachui)# [2018-03-05]# * feat: 2222 (顾重)复制代码
# 生成待发布版本信息 -> vx.x.x.md$ ./gen-log.sh -a '' -t master -o develop -s 1970-01-01# > 2018-03-05# #### 新增# * sdf (lizhen)# * 234 (dachui)# * hh (dachui)# * bbb (dachui)# #### 修改# * 2222 (asdf)# #### 重构# * vvvv (dachui)# #### 文档# * aaaa (dachui)# #### 其他# * ssss&优化代码 (lizhen)# * vvvv (dachui)# * 123 (顾重)复制代码
# 生成目录为version$ ./gen-log.sh -d version复制代码
配置
- -a 贡献者;默认:git 全局配置 name;可传 '' 表示所有贡献者
- -s 起始时间;默认:上周一
- -e 终止时间;默认:当天
- -o 设置比对分支源分支名;默认当前分支
- -r 本地项目路径;默认当前目录
- -t 设置比对分支目标分支名;默认当前分支
- -v 设置比对版本;默认package.json中version字段值
- -f 设置是否强制覆盖已有文件;默认:不覆盖
- -d 设置输出目录;默认:log
使用
- 打开终端(默认已配置git环境),执行
cd ~/Downloads && git clone git@github.com:GiantZero-x/proj-gen-git-log.git && ./proj-gen-git-log && chmod +x gen-log.sh
- 执行
./gen-log.sh -r <path-to-your-repository>
- 自动在
log
文件夹(若无会自动创建)下生成{user}.md文件
进阶
# 输出 someone 2018年1月1日至2018年1月31日commit记录至./git-log/someone.md文件中,若已存在该文件直接覆盖./gen-log.sh -r-a someone -s 2018-01-01 -e 2018-01-31 -d git-log -f复制代码
注意
- 每个版本需修改
package.json
版本号 - 尽可能保证功能分支commit message简明扼要并且没有无意义commit
- 对比模式需要两个分支都存在本地, 并且所有commit message以(feat、fix、refactor、style、docs、chore)开头,例
feat: 完成作者列表展示
其他
- 根据配置项可生成各种git记录,欢迎优化、拓展、拍砖、Star!