如何参与开源贡献—SeaTunnel为例 文2

如何参与开源贡献—SeaTunnel为例 文2

创建issue

5.3.1 什么是issue

每个github的仓库下都会有一个项目独立的issue板块。在这个板块里面,大家可以提出自己的问题,也可以去和大家讨论SeaTunnel是否要添加一些特性。而且,这是一个可以汇报bug的地方。

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

开源社区通常会要求你在提交代码合并的请求前,先去创建一个issue。这是一个好的习惯,就像是我们抓贼要先立案,逮捕要先有逮捕令。创建pull request之前先创建issue,然后把pr关联到我们创建的issue上,让每一次改动,都有据可查。

5.3.2 如何创建issue

1)点击 new issue 按钮进入下一个页面

2)选择你要创建的issue类型,我们选择bug report(bug汇报),进入下一个页面

3)按照表单的提示,一步步填写完整。注意,表单提醒你,创建issue之前应该先去搜索社区中是否已经有讨论同一问题的issue。同样的问题,无需重复。

4)按照要求填写表单后,点击下方的Submit new issue。创建这个issue。

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

5)查看我们已经创建好的issue

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

5.4 创建pull request

pull request的意思是拉取请求,也就是我这有代码写好了,请你把我的代码拉过去吧。所以,发起拉取请求之前应该要先有自己的代码。这样一来,创建pull request并不是一上来就创建,而是要先搞好自己的代码仓库。

pull request的简称是pr。

5.4.1 fork项目到自己的仓库中

对于第一次对SeaTunnel贡献的同学来说,应该先fork(叉子)官方的仓库。

点击fork按钮后,你自己的github账号上会出现一个一模一样的仓库。如下图所示。

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

5.4.2 git clone自己fork的仓库

拿到这个url,在自己电脑上的任意目录上使用下面的git命令去clone这个仓库。

git clone xxxx{你自己的仓库的url}xxx

5.4.3 修改代码

1)在项目的跟目录右键,用idea打开我们clone的项目

2)在我们之前确定的位置,改代码

图形用户界面, 文本

描述已自动生成

3)commit提交

(这个地方应该先建一个分支,从dev上分出来,在新建分支的基础上commit。这里成反面教材了^_^)

图形用户界面, 文本

描述已自动生成

4)push到我们fork的仓库里去,这个时候在远端的目标分支上,我们写一个新的分支名

图形用户界面, 文本, 应用程序

描述已自动生成

5.4.4 创建PR

1)去我们的github上,看一下自己的仓库,发现它会提示我们可以创建一个pr了。点击这个按钮,进入下一个页面

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

2)在新的页面中,按照对话框里给出的模板,说明我们这个pr的目的。最终,不要忘了和你之前的issue关联起来,关联的方式就是直接粘贴你创建的issue的链接。

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

3)全部搞定之后,点击create pull request按钮,创建一个pr

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

4)我们还可以看到github会判断我们做了哪些修改。红色的地方表示我们删除的代码,绿色的地方表示我们新增的代码。因为github的差异是按行进行标记的。所以如果你就改了一个字母。也是一个删除行和新增行的效果。

图形用户界面, 应用程序

描述已自动生成

5)我们的PR已经提交完毕,我们可以看到github会启动一个自动的检查。这个叫做CI/CD。持续交付/持续部署的意思。简单来说,你上传的代码,云端会自动拉取,然后自动地跑一边编译,然后进行单元测试,代码格式等一系列检查。这些测试都通过后,你的代码才有被合并的可能。

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

6)接下来你可以去干点别的,自动测试的时间会比较久,而且你需要等待社区人员注意到你的pull request。

5.5 成功成为源码贡献者

过一段时间就可以回来看一下你的pr了。我们看到有一个apache member审核了我们的代码,并将我们的代码合并到了项目中。以后,大家使用seatunnel将数据从flink写入doris,就有你的一份功劳了。

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

你的发言记录上,会出现contributor的标记。

图形用户界面, 文本, 应用程序

描述已自动生成

弄完这些,就算是SeaTunnel的源码贡献者啦。

5.6 寻找贡献机会

Apache的开源项目中,社区成员们通常会维护一个待办列表,里面是一些好做的任务。适合新手上路。

图形用户界面, 文本, 应用程序

描述已自动生成

posted @   LEEPINE  阅读(293)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示