本文将指导用户如何成为 OceanBase Contributor , 即使是一个小白, 也可以成为 Contributor
步骤
准备工作
1.在 https://github.com 上注册一个用户, 如果已经有了一个账户, 则跳过此步骤
因为现在 github 不允许通过用户名和密码提交代码, 需要用户自己创建 token 来提交代码, https://docs.github.com/cn/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token , 用新的 token 来代替过去的密码来提交。
2.fork https://github.com/oceanbase/oceanbase 到自己 github 账户下
如果已经 fork 了代码, 在 github 点击
3.准备编译环境, 参考文档 how-to-build
代码编写
1.下载代码到本地,
# git clone https://github.com/${用户}/oceanbase
备注: ${用户} 为用户的名字
2.在 https://github.com/oceanbase/oceanbase/issues 上找一个简单的issue,
推荐找一个拼写错误的 issue, 修改这些 issue 比较简单, 容易上手. https://github.com/oceanbase/oceanbase/issues?q=is%3Aissue+is%3Aopen+label%3Atypos创建对应的分支
# git checkout -b issue${issue_number}
备注: ${issue_number} 为 issue 的编号
3.在 IDE 中修改代码,推荐使用 vscode , 并且 vscode 使用远程链接功能.
4.修改完代码后,进行编译
#bash build.sh debug --init --make
大概等待10分钟
5.开始单元测试,如果只是修改注释, 修改文档,,则不需要进行单元测试
# cd build_debug/unittest/ #make -j 4 #./run_tests.sh
整个过程,需要1个小时
代码提交
# git status # 位于分支 master # 尚未暂存以备提交的变更: # (使用 "git add <file>..." 更新要提交的内容) # (使用 "git checkout -- <file>..." 丢弃工作区的改动) # # 修改: ../../src/${修改文件} # 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
备注: ${修改文件}为修改文件 然后
git add ${修改文件} git commit -m "fixed ${issue_number}, xxxxxxx" git push origin issue${issue_number}
备注: ${issue_number} 为 issue 的 number commit的 comments 需要带上"fixed ${issue_number}", 这样可以将 issue number 和 pull request 关联起来 然后创建 pull request 即可,创建 pull request 后, 需要签署 CLA, 如果已经签署了, 类似这样 后续等待 OceanBase 的官方进行 approve