为了方便Venus
团队内部协作,以及更好的对社区输出有意义的ChangeLog
,本文档对PR
命名进行了规范。
PR命名规范
上,不同于commit命名规范,PR包含的范围更大,可以包含多个commit
- 一定程度上参考
Lotus
当前的做法,便于从Lotus
社区过来的朋友阅读理解 - 参考当前
Venus
已经在做的、使用上的习惯 - 参考当前
cluster
已经在做的、使用上的习惯 - 方便团队使用。
github
中有的参数,如,PR
提交人姓名就不加入到PR
标题中
标题采用<PR类型>: <范围>: <PR概括描述>
或者<PR类型>: <PR概括描述>
的格式。
<范围>
为可选项- 冒号采用英语冒号
- 冒号后面跟一个空格,然后再是其他文字
PR
标题统一采用英文进行描述
PR类型
包括但不限于以下类型...
开发类:
feat:
新功能特性类型的PRfix:
修复错误(bug)类型的PRopt:
性能优化类型的PRchore:
杂项类型的PR,构建或者辅助工具等等的变更refactor:
代码重构类型的PRtest:
添加/改动/删除代码测试类型的PR
非开发类:
docs:
文档类型的PRrevert:
代码回滚类型的PRbackport:
版本发布时,从master
合并feat
至开发分支类型的PR
<范围>
为可选项。因为Venus
已经将各组件功能有所划分,实际操作过程中不一定方便定义,可以有较大自定义空间。这里例举一些思路:
api:
该组件中和API相关的范围cli:
该组件中和命令行相关的范围chain:
该组件中和链相关的范围venus-shared:
该组件中和venus-shared
相关的范围
用概括性的语言,尽量对PR
做出易于他人理解的描述性语言。从社区的角度来讲,feat
, fix
, opt
, docs
可能关注的人更多一些,描述也相对需要更加斟酌一些。