git commit规范

159 阅读1分钟

前言

Git 每次提交代码,都要写 commit message(提交说明),否则就不允许提交。但是,一般来说,commit message 应该清晰明了,说明本次提交的目的。

目前,社区有多种 Commit message 的写法规范。Angular 规范是目前使用最广的写法,比较合理和系统化,并且有配套的工具。前端框架Angular.js采用的就是该规范。

commit message

commit message 一般由 Header Body Footer 组成。

Header(必填)

Body(选填)

Footer(选填)

Header

Header部分只有一行,包括三个字段:type(必填)、scope(选填)和 subject(选填)。

  1. type - 说明 commit 的类别
字段详细
feat新增feature
fix修复bug
docs仅仅修改了文档,如readme.md
style仅仅是对格式进行修改
refactor代码重构,没有新增功能或修复bug
perf优化相关,如提升性能、用户体验
test测试用例,包括单元测试、集成测试
chore改变构建流程、或者增加依赖库、工具等
revert版本回滚
  1. scope - 说明 commit 影响的范围
  2. subject - 简短描述

Body

Body 部分是对本次 commit 的详细描述,可以分成多行。

Footer

Footer 部分是一些备注, 通常是 BREAKING CHANGE(当前代码与上一个版本不兼容) 或修复的 bug(关闭 Issue) 的链接。


在项目中落实

  1. eslint和prettier配合解决代码格式问题
  2. 使用commitizen规范提交代码
  3. 使用husky和commitlint检查提交说明
  4. 通过pre-commit检测代码规范
  5. lint-staged自动修复代码格式错误