作为一个coder,如何为顶级的apache社区贡献代码,成为apache contributer之一,了解规范使用gitlab是很有必要的
以下以apache flink为例,介绍如何给apache 贡献代码。
首先需要要有自己的github账号,把flink的代码fork到自己的账号下,打开https://github.com/apache/flink,
点击fork按钮,在自己的账号下就可以看到相应工程。
之后我们就可以把刚才fork的flink的代码下载到我们的本地,可以用下面的命令:
git clone https://github.com/xxxxxxxx/flink.git
远程仓库,主要是为了后续提交更新代码。
git remote add apache https://github.com/apache/flink.git
查询远程仓库命令git remote -v 可以看到有两个远程仓库。
origin https://github.com/xxxxxxxx/flink.git (fetch)
origin https://github.com/xxxxxxxx/flink.git (push)
apache https://github.com/apache/flink.git (fetch)
apache https://github.com/apache/flink.git (push)
接下来,添加一个新分支,用于开发我们的代码。
分支的名字为了方便区分和查询,可以起一个和这issue同名的分支名,
或者根据功能起一个容易好识别的分支名https://github.com/xxxxxxxx/flink/tree/xxxx
然后就可以在这个分支上开发了,
开发完成之后,需要检查一下代码的规范,现在很多的编译器可以完成代码规范的检查,比如IntelliJ IDEA 的 checkstyle
测试代码应该成为一种规范,方便对代码逻辑等进行测试;
在相关的测试类里面添加相应的测试代码,另外还应该添加功能说明或相关说明文档。
因为在自己的开发过程中,flink的mastr主分支可能已经有更新,所以为了避免冲突,先把最新的代码更新下来;
切换到主分支
git checkout master
git pull apache master
之后,切回自己的分支:
# 切换到自己的分支
git checkout flink-my-branch
# 添加刚才改动的代码,如果不确定改了哪些,可以git status看一下
git add my-code
git commit -m ‘注释‘
# 把变化的代码添加到我们的分支
git rebase
# 提交分支到自己的仓库
git push origin flink-my-branch
我们提交分支之后,就可以提交相应的PR(Pull Request)了,比如我的这个PR: https://github.com/apache/flink/pull/11434 。
提交注意标题要写成 [ISSUE] + title的形式,比如 [FLINK-16646] [orc] Flink read orc file ......
这样的话就能把你这个pr和issue自动关联上。
之后我们就能在相应的issue页面看到关联的PR
代码提交完后,会有相关的committer或者其他人review代码,
如果committer认同了你的改动,然后他就会把你的改动合并到master分支,或者是其他相应的版本分支。
list-of-contributors 中可以看到代码贡献者的名单
https://flink.apache.org/news/2020/07/06/release-1.11.0.html#list-of-contributors
源码中的测试类都是相关功能的开发者提供的,所以对于了解测试新功能有很好的帮助
原文:https://www.cnblogs.com/yuejunasia/p/15161915.html