
狗屎运!居然成为了Flink的贡献者-如何给开源项目贡献代码
记录了一个给开源软件项目贡献代码的通用过程。
话说蜀黍我某日正在网上冲浪,突然被一则大数据流批一体的文章吸引,点进去看了讲到Flink如何牛逼。于是想在之前了解的基础上跟Flink来一个深入交流。鉴于我这种高端人才,百度查中文资料太丢身份,应该直接前往Flink官网去感受一下英文原汁原味的“冲击”!嗯嗯,我接着在浏览器输入了:flink.apache.org,进入了Flink官网。
进来官网发现全部都是英文,感觉有点不太适应呀,好多英文单词不认识,幸好有百度翻译帮忙!首先我进到了 All streaming use cases的Learn more里面去。将里面内容一段一段翻译,终于了解了Flink的应用场景。虽然英文能力有限,但是看到其中有一句英文句子怎么感觉就那么的不顺眼呢?
Often ETL jobs are periodically triggered to copy data from from transactional database systems to an analytical database or a data warehouse.
中间的"copy data from from transactional database systems"怎么出现了2个from?其中一个from肯定是多余的!居然被我发现了官网上一个这么明显的错误,真是捡了狗屎运了!要知道像Flink这种这么出名的框架,看他官网的人数那是没有几十万也有几百万了吧,一个这么明显的错误居然还没人解决。那不是给我一个机会做Flink的贡献者吗?嗯,我应该抓住这个机会给他来一个"BUG"修复!这样以后我也能吹是一个“Flink开源社区贡献者”了!
说干就干,直接点开官网首页左边“How to Contribute”,进入“Contribute the Website”,找到“Submit your contribution”位置:
把英文翻译过来,给Flink官网贡献代码由以下步骤组成:
- 本地修改代码,并且进行本地commit提交,注意要把所有提交合成一个;
- 将本地提交推送到远端;
- 到Github个人首页,打开fork过来的flink-web项目,创建一个Pull Request,然后填写相关内容,通过后等待就可以提交代码;
- 等待审核通过即可。
可以看出,这几个步骤是针对老鸟的,说的不够详细。下面就针对我的提交过程来总结下如何给开源项目贡献代码的通用步骤(以flink-web为例):
- 访问Github并登录,打开Flink-Web项目的Github地址https://github.com/apache/flink-web,点击右上角的"Fork"按钮:
- 接下来进入到Github个人主页https://github.com/用户名,就可以看到个人库里面有flink-web项目了,简介也会说明是从apache/flink-web Fork下来的:
- 点击链接,进入项目,点击"Code",把Github地址复制下来:
- 配置git的用户名及邮箱为Github注册时的用户名、邮箱,右键选择"git bash here",进入git命令行,输入:
git config --global user.name “Github用户名”
git config --global user.email “Github注册时的邮箱”
- 配置本机连接Github的授权:
1)进入"git bash here",输入:
ssh-keygen -t rsa -C "Github注册邮箱"
2)一直回车,完成后进入C:\Users\用户名.ssh文件夹会生成"id_rsa.pub"文件,用文本编辑器打开并全选复制内容;
3)进入Github->Settings->SSH and GPG keys->New SSH key->Add SSH key,如下图:
- 使用git或者git图形化工具,将项目克隆自本地,以gitbash为例:首先进入到需要克隆项目的文件夹,右键选择"git bash here",进入git命令行,输入:
git clone https://github.com/Eeeddieee/flink-web.git
- 确保你的分支是你想要修改的分支
git check xxx
- 本地修改代码,并push到Github个人Fork的flink-web项目
- 进入Github个人Fork的flink-web项目,创建一个pull request:
- 填写内容,并确保关联了本地修改的commit记录:
- 没问题后点击"Create pull request",等待代码检查,提示没有冲突:
- 进入apache/flink-web主页,再次点击Pull requests,检查自己的内容是否在列表内:
13.等待审核即可,显示merged即为合并到项目中了:
还有一种方法是Pull request关联jira,跟上面步骤差不多,就是先到官方的jira创建一个任务,然后创建Pull request的时候关联对应的jira任务编号即可。
恭喜您,已经成为了一名开源社区的贡献者啦~
更多推荐
所有评论(0)