教你如何快速在Github上为RT-Thread贡献代码

描述

1024程序员节,首先向改变世界的程序员致敬!真心祝愿天下的程序员:码无Bug,少加班,邂逅真爱,多加薪。用技术改变世界的你们,值得更多的美好!

RT-Thread作为一款自主物联网操作系统,通过开源社区的方式开发,截止目前已有多达上百位程序员在Github上为RT-Thread贡献代码,当然还有很多没有在Github上提交代码的贡献者,真诚地感谢您们对RT-Thread付出的心血!

支持RT-Thread的粉丝们请给RT-Thread项目主仓点星星:https://github.com/RT-Thread/rt-thread,以鼓励RT-Thread的开发者们,也希望有越来越多的RT-Thread贡献者,为RT-Thread贡献更多的代码!

GitHub

↓↓

GitHub

如果您愿意给RT-Thread贡献代码,欢迎通过 GitHub 的 fork 和 pull request 流程来提交代码。 代码要求请参考rt_thread项目documentation目录下coding_style_cn.txt文件(https://github.com/RT-Thread/rt-thread/blob/master/documentation/coding_style_cn.txt)

以下教程将指导您如何提交代码,以及如何提交代码才会被RT-Thread官方认可。。

首先解释一下pull request这个词,pull request的意思是推送请求,开发者发起pull request 的目的是请求仓库维护人采用开发者提交的代码。下面是摘自知乎 网友的一段解释:

我尝试用类比的方法来解释一下pull reqeust。想想我们中学考试,老师改卷的场景吧。你做的试卷就像仓库,你的试卷肯定会有很多错误,就相当于程序里的bug。老师把你的试卷拿过来,相当于先fork。在你的卷子上做一些修改批注,相当于git commit。最后把改好的试卷给你,相当于发pull request,你拿到试卷重新改正错误,相当于merge。

当你想更正别人仓库里的错误时,要按照下面的流程进行:

  1. 先 fork 别人的仓库,相当于拷贝一份别人的资料。因为不能保证你的修改一定是正确的,对项目有利的,所以你不能直接在别人的仓库里修改,而是要先fork到自己的git仓库中。

  2. clone到自己的本地分支,做一些bug fix,然后发起pull request给原仓库,让原仓库的管理者看到你提交的修改。

  3. 原仓库的管理者review这个bug,如果是正确的话,就会merge到他自己的项目中。merge的意思就是合并,将你修改的这部分代码合并到原来的仓库中添加代码或者替换掉原来的代码。至此,整个 pull request 的过程就结束了,原来仓库中就有了你贡献的代码啦。

现在以rt-thread仓库为例说明贡献代码的流程:

1. fork将rt-thread仓库fork到自己的git仓库中。

GitHub

2. 克隆(clone)

将rt-thread仓库clone到自己的本地PC。

GitHub

GitHub

GitHub

3. 创建本地分支如果想要在rtt项目上做自己的开发,最好创建属于自己的项目分支,如果是直接对rtt贡献代码,那么可以直接在master分支上进行操作。

4. 开发

发现了一个小bug并进行修改。

GitHub

5. 提交(commit)向本地仓库提交bug

GitHub

6. 保持本地仓库最新

在准备发起 Pull Request 之前,需要同步原仓库最新的代码,记得检查目前的项目是否是最新的版本。

7. Push 到远程仓库push到开发者自己的远程仓库中。

GitHub

8. 发起并完成 Pull Request

在git仓库中选择自己修改了的分支,点击create pull request按钮发起pull request.

GitHub

GitHub

9. 提交代码的一些约定

发起请求成功后,RT-Thread维护人就可以看到你提交的代码。pull request如果被同意,你的代码就会被合并到仓库中。

关于如何有效提交补丁,可以考虑遵循以下的一些事项:

  1. 自己的代码严格遵守RT-Thread的代码规范;RT-Thread是一个干净,清晰的系统,代码是给人看的(机器码才是给机器看的),所以如何写一份清晰、整洁的代码也是一门学问。相信能够合并一个PR,也是对你代码的提高;

  2. BSP的代码,请尽量确保代码改动仅限制于BSP中,而不影响到其他代码。一上来不管三七二十,大幅修改,而不考虑其他代码(内核、组件)的感受,被拒绝拒掉,妥妥的!

  3. 修改组件的代码也请尽量限制于本组件以内,天马行空会被禁空,没商量的;

  4. 提交时,更改说明的message,最好把相关的缘由写出,并在message标题上增加[BSP]/[组件名]等等的标识。

  5. 提交PR后,也多看看一些反馈,这其中可能就包括维护人对代码的review给出的整改意见,PR挂着不理会反馈,时间长了,也会被拒的。

总而言之,提交代码,发PR,是让RT-Thread更棒!也是让自己的人生有不一样的色彩!

至此,我们就完成了一次代码贡献的过程。

恭喜,你就成为一个RT-Thread 的贡献者了。请继续提交代码!


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分