如何向rocketmq提交pr



1、fork仓库到自己账号下

官方仓库:https://github.com/apache/rocketmq

2、clone代码到本地

1
2
3
4
5
$ cd /d/github
# 测试是否可以连接
$ ssh -T git@github.com
$ cd ~/.ssh
$ ssh-keygen -t rsa

将公钥添加到 github

github -> Settings -> SSH and GPG keys -> New SSH key

再测试一下

1
2
$ ssh -T git@github.com
Hi carlo-z! You've successfully authenticated, but GitHub does not provide shell access.

clone 代码

1
$ git clone git@github.com:carlo-z/rocketmq.git

查看仓库状态,提示现在是 master 分支

1
2
3
4
5
$ cd rocketmq/

$ git status
On branch master
Your branch is up to date with 'origin/master'

git remote -v命令,可以看到此时只与自己的远程仓库建立了连接

1
2
3
$ git remote -v
origin git@github.com:carlo-z/rocketmq.git (fetch)
origin git@github.com:carlo-z/rocketmq.git (push)

3、与官方仓库建立连接

1
2
3
4
5
6
7
8
$ git remote add upstream https://github.com/apache/rocketmq.git


$ git remote -v
origin git@github.com:carlo-z/rocketmq.git (fetch)
origin git@github.com:carlo-z/rocketmq.git (push)
upstream https://github.com/apache/rocketmq.git (fetch)
upstream https://github.com/apache/rocketmq.git (push)

再用git remote -v可以看到 已经与官方仓库建立了连接

4、创建新分支用于修改

接着上面的运行命令:git checkout -b rocketmq-read,这个命令的意思是创建一个叫 rocketmq-read 的分支,运行这个命令后bash将自动切换到新的分支下

1
2
$ git checkout -b rocketmq-read
Switched to a new branch 'rocketmq-read'

修改代码

提交

5、提交pr

然后点Create pull request

写好名字,写好说明,提交,就OK啦。

6、后期同步代码

所以每次提交pr前,都要先从做代码同步。过程如下:

先fetch

1
$ git fetch upstream

再 rebase

1
$ git rebase upstream/master

再 push master

1
$ git push origin master

push完后,远程仓库便可看到你的branch版本和master分支一致了,否则这个位置会显示与master相差了多少次commit。