网络小屋

参与开源项目:提交PR

2018-09-22  本文已影响220人  阿飞的博客

这篇文章描述笔者发现sharding-sphere的一个BUG,然后如何规范的提交PR的整个过程。

issue

PR的第一步就是提交issue,即提交你发现的BUG:


Bug Report

说明,如果不是BUG,而是一些优化建议,那么选择"Feature Request"。


接下来填入BUG的标题和描述,如下所示:

BUG的标题:
RoundRobinMasterSlaveLoadBalanceAlgorithm throw an ArrayIndexOutOfBoundsException,

BUG的描述(注意说明,只接受英文描述,直接会被拒绝。如果英文不够6,建议借助:translate.google.cn):


image.png

提交Issue后,静静的等待官方确认。

下载代码

得到官方确认后,Fork分支:

fork

接下来下载你刚才fork分支的代码(我比较喜欢SSH方式,即Clone with SSH):


clone or download

得到地址后,在PC上执行如下命令即可:

git clone git@github.com:feelwing1314/sharding-sphere.git

配置SSH KEYS

需要注意的是,如果是第一次下载源码,需要配置SSH KEYS,只需要简单几步即可:

cd ~/.ssh
ssh-keygen -t rsa

执行ssh-keygen这个命令的交互过程中,下面的3个地方都需要你的输入确认,全部按回车即可,
第一个回车表示生成的key保存在/c/Users/afei/.ssh/id_rsa文件中,
第2,3个回车表示以后本机的git操作都不需要密码;
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/afei/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

最后将生成的key,即C:\Users${username}.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分支:

基于当前(dev)分支创建一个分支并切换到创建的分支:
git checkout -b fix-1265

接下在就是在本地修复BUG,然后commit&push。

更新fork分支

这里还有一种情况,就是之前已经fork过,这次要更新fork分支的代码为最新代码,需要如何几个步骤:

git remote add upstream git@github.com:sharding-sphere/sharding-sphere.git

查看远程分支:
git remote -v
如果现实有4条记录表示远程分支创建OK:
origin  git@github.com:feelwing1314/sharding-sphere.git (fetch)
origin  git@github.com:feelwing1314/sharding-sphere.git (push)
upstream        git@github.com:sharding-sphere/sharding-sphere.git (fetch)
upstream        git@github.com:sharding-sphere/sharding-sphere.git (push)

fetch源分支的新版本到本地:git fetch --all
合并两个版本的dev分支代码:git rebase upstream/dev
将合并后的代码push到github上去:git push origin dev

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

上一篇 下一篇

猜你喜欢

热点阅读