git commit推荐规范

git commit推荐规范

文章来源:https://feflowjs.com/zh/guide/rule-git-commit.html

对于团队合作的工作,一个很好的实践:建立公共的规范。这样阅读被人的代码的时候,能减少一些心里负担。

Git Commit 规范

目的

统一团队 Git commit 日志标准,便于后续代码 review,版本发布以及日志自动化生成等等。

统一团队的 Git 工作流,包括分支使用、tag 规范、issue 等

Git commit 日志参考案例

angular
commit-message-test-project
babel-plugin-istanbul
conventional-changelog

总体方案

fangan

  • Git commit日志基本规范
    1
    2
    3
    4
    5
    <type>(<scope>): <subject>
    <BLANK LINE>
    <body>
    <BLANK LINE>
    <footer>
  • 推荐的 type 类型如下:
1
2
3
4
5
6
7
8
9
feat: 新增 feature
fix: 修复 bug
docs: 仅仅修改了文档,比如 README, CHANGELOG, CONTRIBUTE等等
style: 仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
refactor: 代码重构,没有加新功能或者修复 bug
perf: 优化相关,比如提升性能、体验
test: 测试用例,包括单元测试、集成测试等
chore: 改变构建流程、或者增加依赖库、工具等
revert: 回滚到上一个版本

如果以上有不满足的类型,也可以自定义。然后配合 huskycommitlint 使用,提升开发效率

  • 格式要求:

    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文档,然后再发布上线。

命名规范,不同的团队有不同的风格,没有必要完全按照文中推荐。

如何接入?

自行搜索 huskycommitlint 安装教程即可。

作者

Fat Dong

发布于

2022-03-03

更新于

2022-04-27

许可协议