Git 每次提交代码都需要写 commit message,否则不允许提交。
一般来说,这个信息应该简洁清晰,说明本次提交目的,具体操作等,但是在日常开发中,经常会出现各种各样的 commit ,比如中英文混合使用、笼统表达,eg:修改错误,解决 bug 等,导致后续不好维护代码,不知道每次提交想表达的是什么。
针对这些问题,就需要我们规范提交。
在日常开发中,提交前可以标记本次属于哪种类型,以下是一些常见 type。
- feat:新功能
- fix / to:修复 bug,比如QA发现的、本人发现的。
- fix:产生 diff 并自动修复此问题。适用于一次提交直接修复问题。
- to:只产生 diff 不自动修复此问题。适用于多次提交。最终修复提交时使用 fix。
- style:格式改变,不影响代码运行的变动。
- refactor:代码重构,即不属于新增功能,也不属于修改 bug 产生的代码变动。
- perf:优化相关,比如提升性能、体验等。
- test:增加测试。
- chore:构建过程或辅助工具的变动。
- revert:回滚到上一个版本,撤销之前的提交。
- merge:代码合并。
在公司开发中,一般会考虑关联到具体的开发任务,方便追溯需求,参考格式:
[任务id] type : 细节描述
[DEMO-123]feat: 书籍列表等级下新增故事书类别的排序调整
[DEMO-234]refactor: 统一API&消除魔法值
[DEMO-345]fix: 避免由于页面渲染过早导致carList为undefined的bug
建议:在我们修改 bug 时,尽量详细描述解决什么问题,这样可以方便的找到哪一个任务中引起的 bug,bug 是什么,后续其他的开发人员也可以快捷的知道问题所在。