大数跨境

成为 Apache 贡献者,从提交第一个简单 PR 开始!

成为 Apache 贡献者,从提交第一个简单 PR 开始! 海豚调度
2020-12-17
2
导读:想让自己名字显示在 Apache 项目首页的 Contributors 里么?提交一个简单 PR 就可以实现了,要多简单的 PR 呢?为文档补充1、2句话,给代码添加 1、2 行注释等等都行,你说简单

Pull request


 github.com

开源之路,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  github  star 
【声明】内容源于网络
0
0
海豚调度
Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
内容 667
粉丝 0
海豚调度 Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
总阅读167
粉丝0
内容667