Git提交规范
需制定统一标准,提交记录清晰明了,让团队一看就能知道此次提交的目的,减少时间成本。规范的git提交,方便接入版本日志自动化处理系统。
phpstorm安装 git commit message helper
插件步骤:
- file -> settings
- plugins 搜索安装
- 通过phpstorm提交时,点击图示图标填写记录。
格式规范解析
Header
头只有一行,包括3个字段: type(必需), scope(可选), subject(必需)
type类型属性
- feat 新功能
- fix 修改bug
- docs 文档修改
- style 格式修改
- refactor 重构
- perf 性能提升
- test 测试
- build 构建系统
- ci 对CI配置文件修改
- chore 修改构建流程或增加依赖库、工具
- revert 回滚版本
常见的 subject 种类以及含义如下:
feat: 新功能(feature)
用于提交新功能。
例如:feat: 增加用户注册功能fix: 修复 bug
用于提交 bug 修复。
例如:fix: 修复登录页面崩溃的问题docs: 文档变更
用于提交仅文档相关的修改。
例如:docs: 更新README文件style: 代码风格变动(不影响代码逻辑)
用于提交仅格式化、标点符号、空白等不影响代码运行的变更。
例如:style: 删除多余的空行refactor: 代码重构(既不是新增功能也不是修复bug的代码更改)
用于提交代码重构。
例如:refactor: 重构用户验证逻辑perf: 性能优化
用于提交提升性能的代码修改。
例如:perf: 优化图片加载速度test: 添加或修改测试
用于提交测试相关的内容。
例如:test: 增加用户模块的单元测试chore: 杂项(构建过程或辅助工具的变动)
用于提交构建过程、辅助工具等相关的内容修改。
例如:chore: 更新依赖库build: 构建系统或外部依赖项的变更
用于提交影响构建系统的更改。
例如:build: 升级webpack到版本5ci: 持续集成配置的变更
用于提交CI配置文件和脚本的修改。
例如:ci: 修改GitHub Actions配置文件revert: 回滚
用于提交回滚之前的提交。
例如:revert: 回滚feat: 增加用户注册功能
scope作用范围
- scope说明提交影响范围:一般是修改的什么模块或者是什么功能,如【xx模块】/【xx功能】
subject 提交主题
- 一般是5-10各自简单描述做的任务,如【xx模块加入消息队列】
body
说明提交详细描述:对于功能详细的描述,解释为什么加入这段代码,为什么调整优化等,如因分布式锁问题,导致死锁问题,优化调整xxxx
Footer
脚包括2个字段: Breaking Changes、Closed Issues
- Breaking Changes 当前版本与之前版本不兼容,如迭代升级对之前版本不能做到兼容,就需要在Breaking Changes后面描述变动理由和迁移方法之类,此属性不常用。
- Closed Issues 当前 commit提交针对某个issue问题或者是禅道bug编号等,如Closes # 234