如何参与开源贡献—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的开源项目中,社区成员们通常会维护一个待办列表,里面是一些好做的任务。适合新手上路。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具