新入手一个项目的时候,总是需要先学习。要是你在学习过程中发现了一些问题,你就有机会蹭一个 Contributor 了,下面分享一下我第一次蹭 Contributor 的经历。
在阅读 flink 源码的时候,发现有的注释文档出现 `a HDFS NameNode`,在英语里面的正确表示是 `an HDFS`,我全局搜了一下发现不少这样的问题,于是就提了一个 pr 来修复这个问题,下面是教大家如何提交第一个 pr:
1. 订阅 dev 邮件列表和 JIRA issue 列表
1.1. 用自己的邮箱给 [email protected] 发送任意邮件,内容和主题自己定即可
1.2. 收到官方确认邮件后回复该邮件,内容和主题自己定即可
1.3. 确认后,会收到一封欢迎邮件,表示订阅邮件成功
1.4. 通过 https://issues.apache.org/jira/secure/Signup!default.jspa 注册 JIRA 账号,记住 ID
1.5. 订阅以后可以查看 issue,如果有自己会解决的 issue 可以点击 "Assignto me(分配给我)" 自己完成
1.6. 如果发现登陆后没有 "Assignto me(分配给我)" 的按钮说明没有权限,需要给 [email protected] 发一封邮件申请开通 Contributor 权限,内容和主题自己定即可
1.7. 过一段时间会得到 PMC 的回复,获得相应权限
注:也有的项目完全通过 JIRA 管理项目,不用订阅 dev 邮件列表申请 contributor 权限,但是订阅了能更好参与讨论
2. 配置开发环境
2.1. 注册 github 账号,Fork 项目代码(https://github.com/apache/flink) 到自己的远程仓库,例如我的是 https://github.com/vcc/flink
2.2. 代码克隆到本地: git clone https://github.com/your_github/flink,并用 IDE 打开,推荐 IDEA
2.3. 添加 apache 的远程分支为 upstream: git remote add upstream https://github.com/apache/flink
2.4. 查看当前的远程分支: git remote-v ,可以看到自己的远程分支是 origin,apache 的远程分支是 upstream
2.5. 配置用户名和邮箱: git config user.name xxx;git config user.email xxx
注:用户名和邮箱需要使用 Github 的用户名和邮箱,这样后续才能正常显示 Contributor标志
3. 修改代码
3.1. 本次的代码修改比较简单,就是修改 a HDFS 为 an HDFS
3.2. 新建一个分支 typofix,修改错误的内容,使用 git 提交代码:git commit -m "[MINOR] typo fix" ,git 的操作不多做阐述,自行学习
3.3. 将代码推送到远端:git push origin typofix:typofix
注:所有的提交都是操作自己的远程分支:git push origin xxx:xxx ,如果需要更新官方代码到本地,需要通过 apache 的远程分支:git pull upstream master
4. 提交 pull request
4.1. 登录到自己的 github flink 的页面,会出现一个 `Compare&pull request` 按钮
4.2. 点击 Compare&pull request,补充 PR 描述信息后,点击 Create pull request 即可
4.3. 等待 committer 帮忙 review 代码、根据意见修改代码和合并PR,当合并后,就会有一个标识 Contributor
后续你提交的 pr 上都会加上 Contributor 标识了!
总结:很多项目都会有类似 typo 的问题,也有很多注释不规范,初学者可以做一些简单的文档优化工作。不过要注意这个工作只适合新手熟悉一下参与开源的流程,做一次就行了,当熟悉了流程以后,就可以参与一些稍微有难度的工作,比如添加 example、代码重构、优化性能、修复 bug等,下一篇我们会介绍怎么给开源项目贡献简单代码,扫描关注公众号一起成为 Committer: