成为 Apache 贡献者,从提交第一个简单 PR 开始!
开源之路,PR 走起 !
---全球最大同性交友社区
1
fork
以下实例以 incubator-dolphinscheduler 海豚调度为例进行操作
从远端仓库* https://github.com/apache/incubator-dolphinscheduler.git * fork 一份代码到自己的仓库中
注:国内用户也可以从 Gitee fork 到自己的仓库中,速度会更快一些: https://gitee.com/dolphinscheduler/DolphinScheduler.git
2
clone
把自己仓库clone到本地
λ git clone https://github.com/xx/incubator-dolphinscheduler.git
Cloning into 'incubator-dolphinscheduler'...
remote: Enumerating objects: 304, done.
remote: Counting objects: 100% (304/304), done.
remote: Compressing objects: 100% (200/200), done.
Receiving objects: 100% (54821/54821), 152 (delta 38), pack-reused 54517 eceiving objects: 100% (54821/54821), 77.07 MiB | 918.00 KiB/s
77.08 MiB | 463.00 KiB/s, done.
Resolving deltas: 100% (23530/23530), done.
Updating files: 100% (1557/1557), done.
3
remote
添加远端仓库地址,命名为upstream
git remote add upstream https://github.com/apache/incubator-dolphinscheduler.git
查看仓库
λ git remote -v
origin https://github.com/xx/incubator-dolphinscheduler.git (fetch)
origin https://github.com/xx/incubator-dolphinscheduler.git (push)
upstream https://github.com/apache/incubator-dolphinscheduler.git (fetch)
upstream https://github.com/apache/incubator-dolphinscheduler.git (push)
此时会有两个仓库:origin(自己的仓库)和upstream(远端仓库)
4
branch
查看分支
λ git branch -v
dev d70d8a60 [Feature-3222][datasource] Store password in ciphertext instead (#3330)
创建分支
λ git checkout -b dev-local
Switched to a new branch 'dev-local'
dev-local 用于本地测试、开发
在提交PR之前,需要创建一个分支专门用作此次PR代码分支,等待合并到原远端仓库后,可删除分支。
git checkout dev
dev-imp-server-ProcessUtils-temp 用于解决代码冲突
dev-imp-server-ProcessUtils 用于提交PR 的代码分支
D:\developer\git-repository\incubator-dolphinscheduler (dev-imp-server-ProcessUtils)
λ git add .
D:\developer\git-repository\incubator-dolphinscheduler (dev-imp-server-ProcessUtils)
λ git commit -m "server model ProcessUtils.java code cleaning." .
[dev-imp-server-ProcessUtils 69ba65db] server model ProcessUtils.java code cleaning.
1 file changed, 6 insertions(+), 16 deletions(-)
D:\developer\git-repository\incubator-dolphinscheduler (dev-imp-server-ProcessUtils)
λ git push origin dev-imp-server-ProcessUtils
5
pull request
登录github.com 在自己仓库下,如果有更改的分支,系统会有提示栏,也可以通过点击 Pull request栏new pull request.
需要填写对本次RR的一个描述,目的,变更日志等。在网页下面也可以看见本次PR提交的代码变更。本次实例只是做了一些代码清理,清理不在引用的变量和清理不需要上抛的异常类型。
提交之后,接着社区Committer们会做CodeReview,然后他会与您讨论一些细节(包括设计,实现,性能等)。当团队中所有人员对本次修改满意后,会将提交合并到dev分支。
6
同步
如何保持和原远端仓库同步???
获取/更新远端仓库代码
git fetch upstream
From https://github.com/apache/incubator-dolphinscheduler
* [new branch] 1.2.0-release -> upstream/1.2.0-release
* [new branch] 1.2.1-release -> upstream/1.2.1-release
* [new branch] 1.3.1-release -> upstream/1.3.1-release
* [new branch] 1.3.2-release -> upstream/1.3.2-release
* [new branch] alert_plugin_design -> upstream/alert_plugin_design
* [new branch] bcai-upgrade-java-version-for-sonarcloud -> upstream/bcai-upgrade-java-version-for-sonarcloud
* [new branch] dev -> upstream/dev
* [new branch] dev-1.3.0 -> upstream/dev-1.3.0
* [new branch] master -> upstream/master
* [new branch] proposal -> upstream/proposal
切换到dev分支
git checkout dev
同步远端仓库dev分支代码到本地仓库dev分支
git merge upstream/dev
提交到自己仓库
git push origin dev
7
贡献第一个 PR
参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括文档、翻译、布道、答疑、测试、以及代码等,此外也极其欢迎各种实践文章,文章内容包含不限于:DS 部署,使用,经验分享,故障处理,源码分析等。DolphinScheduler开源社区非常期待您的参与。
DolphinScheduler 社区参与贡献的方式,包括:
贡献第一个PR(文档、代码) 我们也希望是简单的,第一个 PR 的主要作用是熟悉社区协作流程及感受社区友好度,这个 PR 可以是为文档补充 1、2句话,给代码添加 1、2 行注释等等都行,你说简单不简单?
如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html
文档 github 地址:https://github.com/apache/incubator-dolphinscheduler-website
来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的
小彩蛋
贡献完 一个 PR 后,将邀请加入 DolphinScheduler 的开发者群,享有生产环境若遇到问题优先处理的福利吆
如果以上文章看不大懂,也不要紧,DolphinScheduler有开发者种子群,会培养如何提交自己的第一个 PR ,只要你是想为开源做贡献,欢迎联系

1、DolphinScheduler 社区是非常 open 的,有啥问题都可以随时直接开聊哈/::D
2、参与代码贡献的话,大家可以先尝试在自己本地搭建一下开发环境哈,https://dolphinscheduler.apache.org/zh-cn/docs/development/development-environment-setup.html 按照这个文章,遇到问题欢迎群里直接聊下,必要的话远程看看啥情况
3、当然参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括文档、翻译、布道、答疑、测试、以及代码等,此外也极其欢迎各种实践文章,文章内容包含不限于:DS 部署,使用,经验分享,故障处理,源码分析等等。有意参与非代码贡献的伙伴欢迎群里聊起
4、贡献第一个 PR (文档/文章、代码) 我们也希望是简单的,第一个 PR 的主要作用是熟悉社区协作流程及感受社区友好度,这个 PR 可以是为文档补充 1、2句话,给代码添加 1、2 行注释等等都行
成为 Apache 贡献者,从提交第一个简单 PR 开始!的更多相关文章
- 留念 C语言第一课简单的计算器制作
留念 C语言第一课简单的计算器制作 学C语言这么久了. /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h> #include<stdlib.h ...
- 创建第一个简单的AI分类器
from sklearn import tree# 第一个简单的分类器features = [[140, 1], [130, 1], [150, 0], [170, 0]] #列表左边的变量代表水果的 ...
- MFC入门(一)-- 第一个简单的windows图形化界面小程序(打开计算器,记事本,查IP)
////////////////////////////////序//////////////////////////////// 大约三年前,学过一些简单的编程语言之后其实一直挺苦恼于所写的程序总是 ...
- asp.net 网站在Apache下的配置,就这么简单
asp.net 网站在Apache下的配置,就这么简单 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames ...
- oracle学习 第一章 简单的查询语句 ——03
1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...
- asp.net 站点在Apache下的配置,就这么简单
asp.net 站点在Apache下的配置,就这么简单 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames ...
- 程序演示:C语言第一个简单实例
在信息化.智能化的世界里,可能很早很早 我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子?让我们先看简单的一个例子: 1 2 3 4 5 6 7 8 9 #include ...
- Linux:apache第一个简单的站点
前提: apache安装目录再/application/apache/ 1.先进入安装目录中 cd /application/apache/ ls 查看目录中的内容 可以看到好多我们常见的文件夹,bi ...
- 成为 Apache 贡献者,So easy!
点击上方蓝字关注 Apache DolphinScheduler Apache DolphinScheduler(incubating),简称"DS", 中文名 "海豚调 ...
随机推荐
- pandas:多层索引
多层索引是指在行或者列轴上有两个及以上级别的索引,一般表示一个数据的几个分项. 1.创建多层索引 1.1通过分组产生多层索引 1.2由序列创建 1.3由元组创建 1.4可迭代对象的笛卡尔积 1.5将D ...
- CabloyJS V3.2.0支持Socket IO
CabloyJS v3.2.0引入了Socket IO,并且实现了统一的在线推送和离线推送机制 效果演示 1. IM 用户向系统发送一条消息,系统通过websocket在线通道向用户推送一条回复 2. ...
- 开发工具-在线生成GUID
更新记录 2022年6月11日 记录开始. https://www.toolbaba.cn/d/dev_guid http://tool.pfan.cn/guidgen https://www.iam ...
- 文件输入输出处理-File
大佬的理解-><IO流和File> 1.File类 File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操作文件.通过调用File类提供的各种方法, ...
- 封装一个基础的vue-router
前言主要知识点: 路由原理 Hash与History 实现路由 一.一个vue路由的工作原理前端路由与后端路由的区别: 后端路由:输入url>请求发送到服务器>服务器解析请求的路径> ...
- python 连接SAP 代码
def Main(): sap_app = r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe" subproces ...
- ABAP CDS-基础语法规则
The general syntax rules for the DDL and the DCL in ABAP CDS are: Keywords Keywords must be all uppe ...
- RPA应用场景-自动轮询汇总报表
场景概述 自动轮询汇总报表 所涉系统名称 券商披露网站 人工操作(时间/次) 36小时 所涉人工数量 1 操作频率 每月 场景流程 1.每月初机器人自动登录网站轮询36家券商披露的财务报告,并下载 2 ...
- python小题目练习(十)
题目:根据生日判断星座 需求:实现如下图所示结果 代码展示: """Author:mllContent:根据生日判断星座Date:2020-11-23"&quo ...
- 你真的会python中的for循环吗
for 循环是 Python 中的通用序列迭代器:它可以单步遍历任何有序序列中的元素.for 语句适用于字符串.列表.元组.其他内置可迭代对象和类创建的新对象. for 通常比 while 循环更容易 ...