CnosDB是一个由社区驱动的开源项目,对CnosDB的贡献应符合我们的行为准则,我们感谢所有对CnosDB作出贡献的人。
感谢您的贡献,在贡献之前请认真阅读并签署贡献者许可协议(CLA),您可以通过以下方式参与本项目。
- 报告错误
- 功能请求
- 提交拉取请求
在提交错误之前,请搜索现有问题以防止已经提交或已经修复。如果您提出问题,请包含以下内容:
- 关于操作系统的完整信息
- 正在运行的CnosDB版本
- 如果可能的话,明确重现描述问题步骤
请明确您的要求和目标,通过示例帮助我们了解添加到CnosDB的原因。如果您发现功能请求已作为问题存在,请点击:+1:来表明您对功能的支持。
-
在提交拉取请求之前,请先在 Github 中搜索关闭或开启的相关PR,以避免重复工作。
-
确保问题描述了您正在修复的问题,或记录了您要添加的功能的设计。提前讨论设计有助于确保我们准备好接受您的工作。
-
请在发送PR前签署我们的 贡献者许可协议(CLA),因为我们不能接受没有签名CLA的代码。
-
Fork cnosdb/cnosdb 仓库
-
在您的仓库中,在新的git分支中更改:
git checkout -b my-fix-branch main
-
添加你的代码和测试用例
-
将您的分支推送到Github
git push origin my-fix-branch
-
打开PR开始合并请求
详细内容请参考:Commit规范
Commit message 包含三个部分:header,body和footer,中间用空行隔开。
<type>[optional scope]: <description>
// 空行
[optional body]
// 空行
[optional footer(s)]
Header只有一行,包含三个字段:type
(必需),scope
(可选),description(必需)
type
的种类包括:
类型 | 说明 |
---|---|
feat | 新增功能 |
fix | Bug修复 |
perf | 提高代码性能的变更 |
style | 代码格式类的变更,比如用gofmt 格式化代码、删除空行等 |
refactor | 其他代码类的变更,这些变更不属于feat、fix、perf和style,例如简化代码、重命名变量、删除冗余代码等 |
test | 新增测试用例或是更新现有测试用例 |
ci | 持续集成和部署相关的改动,比如修改CI配置文件或者更新systemd unit文件 |
docs | 文档类的更新,包括修改用户文档或者开发文档等 |
chore | 其他类型,比如构建流程、依赖管理或者辅助工具的变动等 |
scope
用于说明commit影响的范围,scope 如下:
- tskv
- meta
- query
- docs
- config
- tests
- utils
- *
description
是commit的简短描述,规定不超过72个字符
Body是对本次commit的详细描述,可以分成多行
注意点:
- 使用第一人称现在时,比如使用change而不是changed或changes。
- 详细描述代码变动的动机,以及前后行为的对比
如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。
关闭Issue,如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue
Closes #1234,#2345
除了 Header、Body 和 Footer 这 3 个部分,Commit Message 还有一种特殊情况:如果当前 commit 还原了先前的 commit,则应以 revert: 开头,后跟还原的 commit 的 Header。而且,在 Body 中必须写成 This reverts commit ,其中 hash 是要还原的 commit 的 SHA 标识。例如:
revert: feat(core): add 'Host' option
This reverts commit 079360c7cfc830ea8a6e13f4c8b8114febc9b48a.