这篇文章描述笔者发现sharding-sphere的一个BUG,然后如何规范的提交PR的整个过程。
issue
PR的第一步就是提交issue,即提交你发现的BUG:
Bug Report
说明,如果不是BUG,而是一些优化建议,那么选择"Feature Request"。
接下来填入BUG的标题和描述,如下所示:
BUG的标题:
RoundRobinMasterSlaveLoadBalanceAlgorithm throw an ArrayIndexOutOfBoundsException,
image.png
提交Issue后,静静的等待官方确认。
下载代码
得到官方确认后,Fork分支:
fork
接下来下载你刚才fork分支的代码(我比较喜欢SSH方式,即Clone with SSH):
clone or download
得到地址后,在PC上执行如下命令即可:
配置SSH KEYS
需要注意的是,如果是第一次下载源码,需要配置SSH KEYS,只需要简单几步即可:
最后将生成的key,即C:\Users\$.ssh目录下id_rsa.pub文件中的内容拷贝到Github的Settings->SSH and GPG keys->New SSH key中即可,接下来就可以在你的PC上git clone了:
New SSH key
Fix Bug
下载代码后,建议创建一个分支再修改BUG,并且最好基于当前的开发分支,以sharding-jdbc为例,当前的开发分支是dev,创建一个fix-1265分支:
接下在就是在本地修复BUG,然后commit&push。
更新fork分支
这里还有一种情况,就是之前已经fork过,这次要更新fork分支的代码为最新代码,需要如何几个步骤:
Pull Request
接下来就是最后一步Pull Request,即PR。
当你在上一步push代码后,再访问你自己的github主页时,会有pull request提示:
pull request notice
点击"Compare & pull request"后,就会到下面这个页面,文本框中Fixes后的issue编号就是当初提交issue的编号,最后点击Create pull request即可:
open a pull request
在这一页还有commit change信息,展示你此次提交的变更信息:
commit change
创建PR后,可以看到你的PR进度,接下来就耐心的等待官方接受你的PR吧:
pr process
笔者此次Pull Request参考:https://github.com/sharding-sphere/sharding-sphere/pull/1279
领取专属 10元无门槛券
私享最新 技术干货