commit-msg

未匹配的标注

更新版本后, package.json 增加了 “gitHooks”: { “commit-msg”: “fabric verify-commit” } 强验证

目的#

  • 统一团队 Git Commit 标准,便于后续代码 review、版本发布、自动化生成 change log;
  • 可以提供更多更有效的历史信息,方便快速预览以及配合 cherry-pick 快速合并代码;
  • 团队其他成员进行类 git blame 时可以快速明白代码用意;

Git 版本规范#

分支#

  • master 分支为主分支 (保护分支),不能直接在 master 上进行修改代码和提交;
  • develop 分支为测试分支,所以开发完成需要提交测试的功能合并到该分支;
  • feature 分支为开发分支,大家根据不同需求创建独立的功能分支,开发完成后合并到 develop 分支;
  • fix 分支为 bug 修复分支,需要根据实际情况对已发布的版本进行漏洞修复;

Tag#

采用三段式,v 版本。里程碑。序号,如 v1.2.1

  • 架构升级或架构重大调整,修改第 2 位
  • 新功能上线或者模块大的调整,修改第 2 位
    9 bug 修复上线,修改第 3 位
    具体操作,可参见:Git 标签、Git 基础 - 打标签

changelog#

版本正式发布后,需要生产 changelog 文档,便于后续问题追溯。

Git 提交信息#

message 信息格式采用目前主流的 Angular 规范,这是目前使用最广的写法,比较合理和系统化,并且有配套的工具。

commit message 格式说明#

Commit message 一般包括三部分:Header、Body 和 Footer。

Header#

type(scope):subject

  • type:用于说明 commit 的类别,规定为如下几种
    • feat:新增功能;
    • fix:修复 bug;
    • docs:修改文档;
    • refactor:代码重构,未新增任何功能和修复任何 bug;
    • build:改变构建流程,新增依赖库、工具等(例如 webpack 修改);
    • style:仅仅修改了空格、缩进等,不改变代码逻辑;
    • perf:改善性能和体现的修改;
    • chore:非 src 和 test 的修改;
    • test:测试用例的修改;
    • ci:自动化流程配置修改;
    • revert:回滚到上一个版本;
  • scope:【可选】用于说明 commit 的影响范围
  • subject:commit 的简要说明,尽量简短

Body#

对本次 commit 的详细描述,可分多行

Footer#

不兼容变动:需要描述相关信息
关闭指定 Issue:输入 Issue 信息

————————————————
版权声明:本文为 CSDN 博主「Foo Pandora」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:blog.csdn.net/weixin_36209848/arti...

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
秦晓武
讨论数量: 0
发起讨论 只看当前版本


暂无话题~