git commit推荐规范
对于团队合作的工作,一个很好的实践:建立公共的规范。这样阅读被人的代码的时候,能减少一些心里负担。
Git Commit 规范
目的
统一团队 Git commit 日志标准,便于后续代码 review,版本发布以及日志自动化生成等等。
统一团队的 Git 工作流,包括分支使用、tag 规范、issue 等
Git commit 日志参考案例
angular
commit-message-test-project
babel-plugin-istanbul
conventional-changelog
总体方案
- Git commit日志基本规范
1
2
3
4
5<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer> - 推荐的 type 类型如下:
1 | feat: 新增 feature |
如果以上有不满足的类型,也可以自定义。然后配合 husky
、commitlint
使用,提升开发效率
格式要求:
1
2
3
4
5
6
7
8
9# 标题行:50个字符以内,描述主要变更内容
#
# 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括:
#
# * 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
# * 他如何解决这个问题? 具体描述解决问题的步骤
# * 是否存在副作用、风险?
#
# 尾部:如果需要的化可以添加一个链接到issue地址或者其它文档,或者关闭某个issue。Git分支与版本发布规范
基本原则:
master为保护分支,不直接在master上进行代码修改和提交。
开发日常需求或者项目时,从master分支上checkout一个feature分支进行开发或者bugfix分支进行bug修复,功能测试完毕并且项目发布上线后,将feature分支合并到主干master,并且打Tag发布,最后删除开发分支。分支
命名规范:
- 分支版本命名规则:分支类型 _ 分支发布时间 _ 分支功能。比如:feature_20170401_fairy_flower
- 分支类型包括:feature、 bugfix、refactor三种类型,即新功能开发、bug修复和代码重构
- 时间使用年月日进行命名,不足2位补0
- 分支功能命名使用snake case命名法,即下划线命名。
Tag包括3位版本,前缀使用v。比如v1.2.31。Tag命名规范:
- 新功能开发使用第2位版本号,bug修复使用第3位版本号
- 核心基础库或者Node中间价可以在大版本发布请使用灰度版本号,在版本后面加上后缀,用中划线分隔。alpha或者belta后面加上次数,即第几次alpha:
- v2.0.0-alpha.1
- v2.0.0-belta.1
版本正式发布前需要生成changelog文档,然后再发布上线。
命名规范,不同的团队有不同的风格,没有必要完全按照文中推荐。
如何接入?
自行搜索 husky
、commitlint
安装教程即可。
git commit推荐规范