如何贡献

欢迎来到 Baetyl 开源边缘计算项目,如果您想要向 Baetyl 贡献代码或文档,请遵循以下流程。

贡献流程

Baetyl 使用通用的 Git 分支构建模型。下面将为您提供通用的 Github 代码贡献方式。

  • Fork 代码库

我们的开发社区非常活跃,感兴趣的开发者日益增多,因此,我们鼓励开发者采用 fork 方式向我们提交代码。关于如何 fork 一个代码库,请参考 Github 提供的官方帮助页面并点击 “Fork” 按钮.

  • 准备开发环境

如果您想要向 Baetyl 贡献代码,请参考如下命令准备相关本地开发环境:

  1. go get github.com/baetyl/baetyl # 获取 baetyl 代码库
  2. cd $GOPATH/src/github.com/baetyl/baetyl # 进入 baetyl 代码库目录
  3. git checkout master # 校验当前处于 master 主分支
  4. git remote add fork https://github.com/<your_github_account>/baetyl # 指定远程提交代码仓库
  • 提交代码到 fork 仓库

这里,将改动的需求或修复的 bug 提交到步骤 2 中 fork 的远程仓库,具体请参考如下命令:

  1. git status # 查看当前代码改变状态
  2. git add .
  3. git commit -c "modify description" # 提交代码到本地仓库,并提交代码改动描述信息
  4. git push fork # 推送已提交本地仓库的代码要远程仓库
  • 创建代码合入请求

基于 fork 的仓库地址直接向 Baetyl 官方仓库 https://github.com/baetyl/baetyl 提交 pull request(具体请参考如何创建一个提交请求),即可完成向 Baetyl 官方仓库的代码合入请求。一旦 Baetyl 代码仓库评审人员通过了您的代码提交、合入请求,您即可在 Baetyl 官方代码仓库中看到您贡献的代码。

代码评审规范

  • Golang 的代码风格请参照 Go Code Review Comments
  • 请在代码 CI 测试通过后及时通过 Email 向你的代码评审人发送代码提交请求URL
  • 请及时回答评审人的每一个 comment,如果您采纳评审人给出的建议,请直接回复 好的 或是 Done;如果您不同意,请给出您的理由
  • 如果您不想您的代码评审人被邮件通知频繁打扰,您可以通过 交互框 回复评审人提出的每一个建议,具体请参考 如何使用交互框回复评审人信息
  • 尽可能减少不必要的代码提交。一些开发者总是频繁提交代码。如果您想要向提交的代码中增加一个微小的改动,请使用命令 git commit —amend 代替 git commit

代码合入规范

无规矩不成方圆。这里规定,凡是提交 Baetyl 代码合入请求的代码,一律要求遵循以下规范:

  • 建议您提交代码前再次执行命令 govendor fmt +local,具体请参考 govendor
  • 代码提交前 必须 进行单元测试(提交代码应包含)和竞争检测,参考执行命令 make test
  • 仅有提交代码通过单元测试和竞争检测,才允许向 Baetyl 官方仓库提交
  • 所有向 Baetyl 官方仓库提交的代码,必须至少1 个代码评审员评审通过后,才可以将提交代码合入 Baetyl 官方代码仓库注意:以上所有代码提交步骤要求及规范,同样适用文档贡献。

  • 英文文档主页

  • 中文文档主页
  • 英文文档仓库
  • 中文文档仓库