git注意事项
fork 一个仓库进行本地分支开发,避免 PR 混乱等问题,本地仓库与主仓库代码同步的问题,这里列出同步相关命令:
#添加远程主仓库到 upstream
git remote add upstream git@github.com:apache/pulsar.git
#更新主仓库代码
git fetch upstream
#本地仓库切换到 master,并 merge 最新远程代码
git checkout master
git merge upstream/master
git push origin master
#Pulsar 支持两种编译方式,编译相关命令:
#全量编译(所有模块)
mvn install -DskipTests
#最小化编译(仅供生产消费所需模块)
mvn install -Pcore-modules,-main -DskipTests
配置idea
-
安装 Lombok 插件。因为 Pulsar 使用了大量 Lombok 注解。
-
设置 Code Style,点击 Settings -> Editor -> Code Style -> Import scheme,样式所在路径:${pulsar_dir}/src/idea-code-style.xml。设置样式可以避免很多后期合并仓库时的麻烦,避免样式检查不通过。
代码贡献
为 Pulsar 贡献代码的标准流程如下:
1.clone 自己的仓库;
2.领取任务,创建分支,推荐新手从较简单的 issue (带有 help-wanted 标签)入手,并留言 mark 避免其他人重复劳动;
3.代码开发,本地调试通过,写好单元测试;
4.push 到自己的仓库;
5.创建 PR,确保单元测试通过,如果有的部分没通过可以执行 /pulsarbot run-failure-checks 重试,一直没通过的用例就可能是与已有部分冲突的。
怎样将社区还未合并的 patch 先行合并到自己 fork 的仓库分支里面?
可以将主仓库代码拉到自己的主仓里,然后通过 cherry-pick 的方式将对应的 PR 拉到自己的开发分支。