如何写出有质量的commit?
参考资料:
https://juejin.cn/post/6847902225029660680
https://zhuanlan.zhihu.com/p/182553920
https://cloud.tencent.com/developer/article/1780101
https://blog.csdn.net/wowenlong/article/details/109336230
https://blog.csdn.net/twlkyao/article/details/17586999
https://help.aliyun.com/document_detail/324213.html
- 使提交信息业务相关
- 提交信息中写明类型
- 必要时要写描述(Decription)
- 提交主题尽量简短
- 尽量使用英文
提交信息和代码一样,不只是给自己看,也是给团队中其他人看的,同时也是对提交信息的注释。在我过往经历中,看到过很多小伙伴为了方便随便写提交信息。修复一个登陆问题
好的 : 实现单点登陆接口
垃圾的 :实现新功能
如果实在是想不到,可以直接使用需求描述作为提交信息。
- Feat: 新功能
- Upgrade:功能升级或代码变更
- Fix: Bug修复
- Doc: 文档或README编写
- Style: 主题UI变更
- Test:新增测试代码
好的:Feat:实现单点登陆接口
坏的:实现单点登陆接口
字数尽量少,最好不超过50个字符。
描述是对提交信息的补充说明或详细描述,这部分内容很少有同学会注意到。但有时候描述却也不可缺少,比如说当合并代码存在冲突的时候,提交者就有必要将发生冲突的文件写在描述信息里面。
尽量使用英文
大家或多或少都使用过Windows
来进行开发,当使用过 cmd
来查看git log
的时候,中文是乱码的。这实在是太不友好,如果要正常显示还要一顿骚操作。这也就是为什么建议尽量使用英文了。
其实还有一个原因,如果我们写一个开源项目的话,提交到GitHub
上面就是面向全世界的开发者,那么提交信息使用英文就十分友好了(说不定项目就火了呢)。
- 语句的首字母使用大写字符
- 语句结尾不要有句号(.)
vscode插件git-commit-plugin,非常好用(✪▽✪)
为何要规范Commit Message
- 加快Code Review的过程
- 帮助我们写好release note
- 5年后帮你快速想起来某个分支,tag或者 commit增加了什么功能,改变了哪些代码
- 让其他的开发者在运行
git blame
的时候想跪谢 - 总之一个好的提交信息,会帮助你提高项目的整体质量
The git blame command is used to examine the contents of a file line by line and see when each line was last modified and who the author of the modifications was
review 过别人代码的人都知道如果 commit 乱七八糟那将有多么痛苦。
「commit msg 必须使用以下 type 前缀开头,如果不符合规范,代码将无法入库」
- 「feature」 (new feature for the user, not a new feature for build script)
- 「fix」 (bug fix for the user, not a fix to a build script)
- 「update」 (update feature code,not a new feature)
- 「docs」 (changes to the documentation)
- 「style」 (formatting, missing semi colons, etc; no production code change)
- 「refactor」 (refactoring production code, eg. renaming a variable)
- 「test」 (adding missing tests, refactoring tests; no production code change)
- 「chore」 (updating grunt tasks etc; no production code change)
- 「bump」(a new version)