KnowStreaming贡献流程

简介: KnowStreaming贡献流程

作者石臻臻, CSDN博客之星Top5Kafka Contributornacos Contributor华为云 MVP ,腾讯云TVP, 滴滴Kafka技术专家KnowStreaming PMC)


KnowStreaming  是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,带你一起你参与开源!

贡献流程

贡献源码细则

1. fork didi/KnowStreaming项目到您的github库

找到你要Fork的项目,例如 KnowStreaming  ,点击Fork按钮。

在这里插入图片描述

2. 克隆或下载您fork的Nacos代码仓库到您本地


git clone { your fork knowstreaming repo address }

cd KnowStreaming

3. 添加 didi/KnowStreaming仓库为upstream仓库


### 添加源仓库
git remote add upstream https://github.com/didi/KnowStreaming

### 查看是否添加成功
git remote -v

   origin    ${your fork KnowStreaming repo address} (fetch)
   origin    ${your fork KnowStreaming repo address} (push)
   upstream https://github.com/didi/KnowStreaming(fetch)
   upstream https://github.com/didi/KnowStreaming (push)

### 获取源仓库的基本信息    
git fetch origin
git fetch upstream

上面是将didi/KnowStreaming添加为远程仓库, 当前就会有2个远程仓库

  1. origin : 你Fork出来的分叉仓库
  2. upstream : 源仓库

git fetch 获取远程仓库的基本信息, 比如 源仓库的所有分支就获取到了

4. 同步源仓库开发分支到本地分叉仓库中

一般开源项目都会有一个给贡献者提交代码的分支,例如 KnowStreaming的分支是 dev

首先我们要将 源仓库的开发分支(dev) 拉取到本地仓库中


git checkout -b dev upstream/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个好处:

  1. 您的提交记录将会非常优雅,不会出现Merge xxxx branch 等字样
  2. rebase后您分支的提交日志也是一条单链,基本不会出现各种分支交错的情况,回查时更轻松

git fetch upstream

git rebase -i upstream/dev

或者在IDEA的操作如下

选择 源仓库的开发分支

推荐使用IDEA的方式, 有冲突的时候更容易解决冲突问题。

7. 将您开发完成rebase后的分支,上传到您fork的仓库

git push origin dev

8. 按照PR模板中的清单创建Pull Request

在这里插入图片描述

选择自己的分支合并到模板分支。

9. 等待合并代码

提交了PR之后,需要等待PMC、Commiter 来Review代码,如果有问题需要配合修改重新提交。

如果没有问题会直接合并到开发分支dev中。

注: 如果长时间没有review, 则可以多催促社区来Review代码!

相关文章
|
自然语言处理 Java Go
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
332 0
|
Cloud Native Go 开发者
如何为开源项目做出贡献?
如何为开源项目做出贡献?
116 0
|
资源调度 前端开发 UED
09前端 L eader 如何做好团队规划?阿里内部培训总结公开|学习笔记
快速学习09前端 L eader 如何做好团队规划?阿里内部培训总结公开
363 0
|
开发工具 git C#
如何为 smartraiden 贡献代码
如何为 smartRaiden 贡献代码 1.Fork 项目 登录 github 账号,并访问https://github.com/SmartMeshFoundation/SmartRaiden,然后点击右上角的 fork 按钮,等待几秒钟以后就可以在你自己的 github 账号下看到 smartraiden.
1196 0
|
存储 开发者
成功运作一个开源项目的15个要点
运作开源项目很容易。所有你需要做的就是让你的源代码可用和开源,对吧?嗯,也许。其实,开源项目是否成功取决于你对项目成功的定义。且不论你是怎么定义的,创建开源项目需要大量的工作。如果你已经有了目标,那么你需要准备投资。
1444 0
|
Java 关系型数据库 数据库连接
RUKU项目阶段总结及三个案例项目的技术分析
1-Ucanaccess对access数据库文件的操作的java代码,在新版本ruku系统中不会经常被用到,主要的用途是数据迁移过程中,通过查询数据以验证和确保数据的准确性。 2-数据库结构的设计肯定会有调整,但是目前通过power designer进行数据库设计然后通过phpmyadmin导入,这种方式创建mysql表结构,十分方便。
2208 0
团队项目第二阶段个人进展——Day10
一、昨天工作总结 冲刺第十天,做程序的测试,并修复一些小的bug 二、遇到的问题 无 三、今日工作规划 继续对程序进行测试优化
865 0
团队项目第二阶段个人进展——Day9
一、昨天工作总结 冲刺第九天,完成图片的优化,与队友一起讨论如何合并并优化 二、遇到的问题 无 三、今日工作规划 合并后优化
742 0
团队项目第二阶段个人进展——Day8
一、昨天工作总结 冲刺第八天,完成了发布页面数据与服务器数据的交互,基本实现了发布功能 二、遇到的问题 存在bug,有时候图片发布不了 三、今日工作规划 优化图片的上传机制,实现选择图片后就立即上传
856 0