KnowStreaming 贡献流程
作者:石臻臻,CSDN 博客之星 Top5、Kafka Contributor、nacos Contributor、华为云 MVP,腾讯云 TVP,滴滴 Kafka 技术专家、 KnowStreaming PMC)。
KnowStreaming 是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,带你一起你参与开源! 。
贡献流程
1. fork didi/KnowStreaming 项目到您的 github 库
找到你要 Fork 的项目,例如 KnowStreaming ,点击 Fork 按钮。
在这里插入图片描述
2. 克隆或下载您 fork 的 Nacos 代码仓库到您本地
3. 添加 didi/KnowStreaming 仓库为 upstream 仓库
上面是将 didi/KnowStreaming 添加为远程仓库, 当前就会有 2 个远程仓库
origin : 你 Fork 出来的分叉仓库
upstream : 源仓库
git fetch 获取远程仓库的基本信息, 比如 源仓库的所有分支就获取到了
4. 同步源仓库开发分支到本地分叉仓库中
一般开源项目都会有一个给贡献者提交代码的分支,例如 KnowStreaming 的分支是 dev
;
首先我们要将 源仓库的开发分支(dev
) 拉取到本地仓库中
或者 IDEA 的形式创建
在这里插入图片描述
5. 在本地新建的开发分支上进行修改
首先请保证您阅读并正确设置 KnowStreaming code style, 相关内容请阅读 KnowStreaming 代码规约 。
修改时请保证该分支上的修改仅和 issue 相关,并尽量细化,做到
一个分支只修改一件事,一个 PR 只修改一件事。
同时,您的提交记录请尽量描述清楚,主要以谓 + 宾进行描述,如:Fix xxx problem/bug。少量简单的提交可以使用 For xxx 来描述,如:For codestyle。 如果该提交和某个 ISSUE 相关,可以添加 ISSUE 号作为前缀,如:For #10000, Fix xxx problem/bug。
6. Rebase 基础分支和开发分支
您修改的时候,可能别人的修改已经提交并被合并,此时可能会有冲突,这里请使用 rebase 命令进行合并解决,主要有 2 个好处:
您的提交记录将会非常优雅,不会出现 Merge xxxx branch 等字样
rebase 后您分支的提交日志也是一条单链,基本不会出现各种分支交错的情况,回查时更轻松
或者在 IDEA 的操作如下
选择 源仓库的开发分支
推荐使用 IDEA 的方式, 有冲突的时候更容易解决冲突问题。
7. 将您开发完成 rebase 后的分支,上传到您 fork 的仓库
8. 按照 PR 模板中的清单创建 Pull Request
在这里插入图片描述
选择自己的分支合并到模板分支。
9. 等待合并代码
提交了 PR 之后,需要等待 PMC、Commiter 来 Review 代码,如果有问题需要配合修改重新提交。
如果没有问题会直接合并到开发分支dev
中。
注: 如果长时间没有 review, 则可以多催促社区来 Review 代码!
版权声明: 本文为 InfoQ 作者【石臻臻的杂货铺】的原创文章。
原文链接:【http://xie.infoq.cn/article/9936070a28b9c45ae0062654d】。未经作者许可,禁止转载。
评论