GitHub 提交pr

GitHub 提交pr

笔者这个pr属于小白类型的,只是为 Apache dubbo (阿里开源的java 微服务rpc框架,不过现在生态已经不错,有了很多语言版本,并且也支持很多其它类型的协议:http、rest、redis等等)简单地增加了两个常量类(容错模式常量和负载均衡常量)

1 首先是在使用框架过程中发现了bug或者其它非bug性的使用建议,此时你可以再GitHub找到源码项目,先向它提一个issue:
在这里插入图片描述
2 随后在弹出框填写你的问题(标题和内容),这里不再展示填写过程,注意表达尽量言简意赅,站在审核者的角度想一下自己的描述。注意一定要使用英文,尽管可能有些开源框架是国内有些团队在维护,比如上面的Apache dubbo。这是笔者的issue截图,第一次问题描述就没有太清晰
在这里插入图片描述
3 得到了pr建议之后就可以开始pr操作了。(也可以直接pr,但是最好是等待一下审核人员的建议,避免自己做了修改,最后没有被审核。)

3.1 fork 当前的工程
在这里插入图片描述
这一步相当于把当前的master copy到你自己的仓库中:
在这里插入图片描述
这就是刚才fork的仓库啦。

3.2 将fork的仓库clone到本地
git clone 复制的链接
在这里插入图片描述
在这里插入图片描述
这个过程视情况而定,有的项目太大可能比较慢(dubbo就是这种的,反复下载了十多次,不建议使用网上的加速下载方法,事实证明是无效的,还可能引发其他问题。)

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

在这里插入图片描述
此时还需要与上游建立连接,这里上游指的是一开始fork的那个项目源(Apache dubbo)

使用 git remote add upstream https://github.com/apache/dubbo.git

此时,再用 git remote -v:
在这里插入图片描述
3.4 创建分支
git checkout -b 分支name
在这里插入图片描述
这个命令的意思是创建一个叫 XXX 的分支,运行这个命令后 git 将自动切换到新的分支下(前面有 * 号的表示命令行当前分支。这里笔者的pr 已经被合并了,读者的应该和我的不太一样,总体是不差的)
在这里插入图片描述
3.5 修改代码
这里,你可以用开发工具导入clone的项目开始肆意修改代码了:
在这里插入图片描述

如果是Apache 开源的注意以下两点:

这里注意的是首先不要为代码添加作者信息(不知道是不是这个项目本身的规定); 然后如果是新增的类,在类包的上面添加 asf header
(Apache Software Foundation (ASF)),这个可以再任意一个类中找到,复制即可。

另外注意代码本身的联动性,也就是注意修改本身不要让项目出bug。

3.6 提交代码
git add . 这个应该都熟悉
在这里插入图片描述
git commit -m “提交内容”
在这里插入图片描述
需要注意的是 git commit 只是把修改的代码提交到当前分支(对于笔者来说是笔者新建的 constantAdd 分支)。我们还需要

git push origin XXX (笔者来说是 git push origin constantAdd)

这一步才是将当前分支推送到自己的远程仓库。

3.7 提交pr

在这里插入图片描述
首次提交需要填入一些必要的说明信息,有些开源项目会有模板,你也可以不使用模板,注意在内容中或者标题中 fix 对应的 issue编号
在这里插入图片描述
下图标红的就是编号
在这里插入图片描述
提交之后就耐心等待审核吧。
在审核过程中审核人员可能会给你提一些建议,可以关注一下你的 pr,当然一般有回复 GitHub都会给你的邮箱发邮件通知。

可以根据 审核人员的建议再进行调整,修改代码后重复上面的git add git commit git push oringin 即可。
下面是笔者的这个过程:
你可以忽略 GitHub 的test 结果
在这里插入图片描述

如果最终你得到了审核者的 LGTM(looks goods to me) ,那么基本上就可以了,祝你好运。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值