文章目录

  • 贡献流程
    • 1. fork didi/KnowStreaming项目到您的github库
    • 2. 克隆或下载您fork的Nacos代码仓库到您本地
    • 3. 添加 didi/KnowStreaming仓库为upstream仓库
    • 4. 同步源仓库开发分支到本地分叉仓库中
    • 5. 在本地新建的开发分支上进行修改
    • 6. Rebase 基础分支和开发分支
    • 7. 将您开发完成rebase后的分支,上传到您fork的仓库
    • 8. 按照PR模板中的清单创建Pull Request
    • 9. 等待合并代码

贡献流程

贡献源码细则

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 upstreamgit 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代码!

KnowStreaming贡献流程相关推荐

  1. Openstack贡献者须知 2 — 社区工作运作 代码贡献流程

    目录 目录 前文列表 订阅邮件列表 Mailing Lists 社区工作运作流程 Openstack 代码贡献流程 PEP8 Python编程风格 查阅相关资源 前文列表 Openstack贡献者须知 ...

  2. golang中文文档_【译】Go 语言源码贡献官方指导文档

    以前给 Go 语言项目源码提交过一些 commits,期间阅读他们的官方指导文档的时候觉得这篇指导文档可以作为绝佳的关于大型软件项目的规范管理的参考,因为最近又提交了几个 commits,就又把这篇文 ...

  3. 【Hackathon】基于RKNPU2给FastDeploy仓库贡献代码

    [Hackathon]基于RKNPU2给FastDeploy仓库贡献代码 前言 大家好,我是Zheng_Bicheng.很高兴受到飞桨运营姐姐的邀请,写一篇关于黑客松比赛中No.80 瑞芯微RK358 ...

  4. 常用开源协议介绍以及开源软件规范列表

    1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...

  5. 如何参与一个顶级开源项目

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 前言 最近个人事情比较多(搬家.换工作.短暂休息)所以一直也没有顾 ...

  6. Keras正式从TensorFlow分离:结束API混乱与耗时编译

    以后在本地运行 Keras Bazel 测试将不再花费几小时,只需要几分钟. 对于深度学习领域的从业者而言,Keras 肯定不陌生,它是深度学习的主流框架之一.2015 年 3 月 27 日,谷歌软件 ...

  7. 学习 Git 玩转 GitHub

    原文地址:学习 Git 玩转 GitHub 博客地址:www.extlight.com 一.基本了解 1.1 什么是版本控制系统 版本控制系统是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修 ...

  8. centos linux引导修复_CentOS没了,Linux的新世界来了

    Turbolinux成立于1992年,是世界上最早从事Linux业务的公司,业界公认的中文化领导者和奠基者. 1999年3月发布了世界上第一款Linux中文版. 2020年基于openEuler平台发 ...

  9. 云计算与云原生技术系列文章

    目录 文章目录 目录 云计算 云原生 云原生思想 容器技术 Docker containerd Kata Container APIGW ETCD 服务治理 - Service Mesh FaaS O ...

最新文章

  1. python哪一版好用-最好的Python入门教材是哪本?
  2. Eclipse远程调试
  3. python battleship_codecademy_python_Battleship!
  4. 周鸿祎的“加法”和“减法”
  5. python一直循环怎么写_自学Python,写一个挨打的游戏代码来初识While循环
  6. 有时候,一个人也挺好
  7. Struts(十一):OGNL表达式(二)
  8. php中百度编辑器的使用
  9. Winrm+python远程连接windows执行命令
  10. 基于java的点歌系统设计_KTV点歌系统的设计与实现(毕业论文).doc
  11. Ribbon饥饿加载
  12. HTML初学(简单html文件、简单表格布局)
  13. mysql evict_善用MySQL AHI加速神器,让你的InnoDB查询飞起来!
  14. 人生八境——古诗词中读懂人生境界
  15. mac怎么更新python_mac上更新python的方法
  16. 如何将阿里云旧服务器上的数据转移到新服务器上
  17. 在Mac中使用Word添加带圈的脚注
  18. Vue 使用XLSX导出excel,并且设置标题背景颜色、字体、居中。并且在前端导出成excel文件
  19. C#丨DataGridView控件获取选中行的某一列的值
  20. 推荐一本书《Atomic Habits》

热门文章

  1. 微信公众平台开发——引言
  2. SZA-Template
  3. ax.contour绘制等值线图时报错:The following kwargs were not used by contour: ‘color‘
  4. System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”
  5. 2021-05-16
  6. 蚂蚁金服面试题和答案
  7. 2021-6-10-今日收获
  8. 时滞微分方程求解之三ddesd--变时滞
  9. C语言第6次上课随堂讲义
  10. 淘宝商品详情接口(商品详情页面数据接口)