0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你如何快速在Github上為RT-Thread貢獻(xiàn)代碼

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:未知 ? 作者:佚名 ? 2017-10-26 06:17 ? 次閱讀

1024程序員節(jié),首先向改變世界的程序員致敬!真心祝愿天下的程序員:碼無(wú)Bug,少加班,邂逅真愛(ài),多加薪。用技術(shù)改變世界的你們,值得更多的美好!

RT-Thread作為一款自主物聯(lián)網(wǎng)操作系統(tǒng),通過(guò)開(kāi)源社區(qū)的方式開(kāi)發(fā),截止目前已有多達(dá)上百位程序員在Github上為RT-Thread貢獻(xiàn)代碼,當(dāng)然還有很多沒(méi)有在Github上提交代碼的貢獻(xiàn)者,真誠(chéng)地感謝您們對(duì)RT-Thread付出的心血!

支持RT-Thread的粉絲們請(qǐng)給RT-Thread項(xiàng)目主倉(cāng)點(diǎn)星星:https://github.com/RT-Thread/rt-thread,以鼓勵(lì)RT-Thread的開(kāi)發(fā)者們,也希望有越來(lái)越多的RT-Thread貢獻(xiàn)者,為RT-Thread貢獻(xiàn)更多的代碼!

↓↓

如果您愿意給RT-Thread貢獻(xiàn)代碼,歡迎通過(guò) GitHub 的 fork 和 pull request 流程來(lái)提交代碼。 代碼要求請(qǐng)參考rt_thread項(xiàng)目documentation目錄下coding_style_cn.txt文件(https://github.com/RT-Thread/rt-thread/blob/master/documentation/coding_style_cn.txt)。

以下教程將指導(dǎo)您如何提交代碼,以及如何提交代碼才會(huì)被RT-Thread官方認(rèn)可。。

首先解釋一下pull request這個(gè)詞,pull request的意思是推送請(qǐng)求,開(kāi)發(fā)者發(fā)起pull request 的目的是請(qǐng)求倉(cāng)庫(kù)維護(hù)人采用開(kāi)發(fā)者提交的代碼。下面是摘自知乎 網(wǎng)友的一段解釋:

我嘗試用類比的方法來(lái)解釋一下pull reqeust。想想我們中學(xué)考試,老師改卷的場(chǎng)景吧。你做的試卷就像倉(cāng)庫(kù),你的試卷肯定會(huì)有很多錯(cuò)誤,就相當(dāng)于程序里的bug。老師把你的試卷拿過(guò)來(lái),相當(dāng)于先f(wàn)ork。在你的卷子上做一些修改批注,相當(dāng)于git commit。最后把改好的試卷給你,相當(dāng)于發(fā)pull request,你拿到試卷重新改正錯(cuò)誤,相當(dāng)于merge。

當(dāng)你想更正別人倉(cāng)庫(kù)里的錯(cuò)誤時(shí),要按照下面的流程進(jìn)行:

  1. 先 fork 別人的倉(cāng)庫(kù),相當(dāng)于拷貝一份別人的資料。因?yàn)椴荒鼙WC你的修改一定是正確的,對(duì)項(xiàng)目有利的,所以你不能直接在別人的倉(cāng)庫(kù)里修改,而是要先f(wàn)ork到自己的git倉(cāng)庫(kù)中。

  2. clone到自己的本地分支,做一些bug fix,然后發(fā)起pull request給原倉(cāng)庫(kù),讓原倉(cāng)庫(kù)的管理者看到你提交的修改。

  3. 原倉(cāng)庫(kù)的管理者review這個(gè)bug,如果是正確的話,就會(huì)merge到他自己的項(xiàng)目中。merge的意思就是合并,將你修改的這部分代碼合并到原來(lái)的倉(cāng)庫(kù)中添加代碼或者替換掉原來(lái)的代碼。至此,整個(gè) pull request 的過(guò)程就結(jié)束了,原來(lái)倉(cāng)庫(kù)中就有了你貢獻(xiàn)的代碼啦。

現(xiàn)在以rt-thread倉(cāng)庫(kù)為例說(shuō)明貢獻(xiàn)代碼的流程:

1. fork將rt-thread倉(cāng)庫(kù)fork到自己的git倉(cāng)庫(kù)中。

2. 克?。╟lone)

將rt-thread倉(cāng)庫(kù)clone到自己的本地PC。

3. 創(chuàng)建本地分支如果想要在rtt項(xiàng)目上做自己的開(kāi)發(fā),最好創(chuàng)建屬于自己的項(xiàng)目分支,如果是直接對(duì)rtt貢獻(xiàn)代碼,那么可以直接在master分支上進(jìn)行操作。

4. 開(kāi)發(fā)

發(fā)現(xiàn)了一個(gè)小bug并進(jìn)行修改。

5. 提交(commit)向本地倉(cāng)庫(kù)提交bug

6. 保持本地倉(cāng)庫(kù)最新

在準(zhǔn)備發(fā)起 Pull Request 之前,需要同步原倉(cāng)庫(kù)最新的代碼,記得檢查目前的項(xiàng)目是否是最新的版本。

7. Push 到遠(yuǎn)程倉(cāng)庫(kù)push到開(kāi)發(fā)者自己的遠(yuǎn)程倉(cāng)庫(kù)中。

8. 發(fā)起并完成 Pull Request

在git倉(cāng)庫(kù)中選擇自己修改了的分支,點(diǎn)擊create pull request按鈕發(fā)起pull request.

9. 提交代碼的一些約定

發(fā)起請(qǐng)求成功后,RT-Thread維護(hù)人就可以看到你提交的代碼。pull request如果被同意,你的代碼就會(huì)被合并到倉(cāng)庫(kù)中。

關(guān)于如何有效提交補(bǔ)丁,可以考慮遵循以下的一些事項(xiàng):

  1. 自己的代碼嚴(yán)格遵守RT-Thread的代碼規(guī)范;RT-Thread是一個(gè)干凈,清晰的系統(tǒng),代碼是給人看的(機(jī)器碼才是給機(jī)器看的),所以如何寫(xiě)一份清晰、整潔的代碼也是一門(mén)學(xué)問(wèn)。相信能夠合并一個(gè)PR,也是對(duì)你代碼的提高;

  2. BSP的代碼,請(qǐng)盡量確保代碼改動(dòng)僅限制于BSP中,而不影響到其他代碼。一上來(lái)不管三七二十,大幅修改,而不考慮其他代碼(內(nèi)核、組件)的感受,被拒絕拒掉,妥妥的!

  3. 修改組件的代碼也請(qǐng)盡量限制于本組件以內(nèi),天馬行空會(huì)被禁空,沒(méi)商量的;

  4. 提交時(shí),更改說(shuō)明的message,最好把相關(guān)的緣由寫(xiě)出,并在message標(biāo)題上增加[BSP]/[組件名]等等的標(biāo)識(shí)。

  5. 提交PR后,也多看看一些反饋,這其中可能就包括維護(hù)人對(duì)代碼的review給出的整改意見(jiàn),PR掛著不理會(huì)反饋,時(shí)間長(zhǎng)了,也會(huì)被拒的。

總而言之,提交代碼,發(fā)PR,是讓RT-Thread更棒!也是讓自己的人生有不一樣的色彩!

至此,我們就完成了一次代碼貢獻(xiàn)的過(guò)程。

恭喜,你就成為一個(gè)RT-Thread 的貢獻(xiàn)者了。請(qǐng)繼續(xù)提交代碼!


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39443
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    461

    瀏覽量

    16237

原文標(biāo)題:在Github上為RT-Thread貢獻(xiàn)代碼,為自己的人生涂色(文末有1024節(jié)福利)

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    從0教你如何給RT-Thread貢獻(xiàn)代碼

    。準(zhǔn)備工作安裝 git安裝 TortoiseGit 工具,這個(gè)工具是 git 的一種圖形化界面注意安裝 git 的時(shí)候記得勾選將 git 所在目錄添加到系統(tǒng)環(huán)境變量現(xiàn)在以rt-thread倉(cāng)庫(kù)例說(shuō)明貢獻(xiàn)
    發(fā)表于 04-11 09:18

    如何使githubrt-thread的最新代碼編譯后的文件正常在樹(shù)莓派4啟動(dòng)

    rt-thread,如下圖所示下載githubrt-thread的最新代碼
    發(fā)表于 04-27 12:48

    RT-Thread Smart已正式上線,源代碼可下載,采用Apache License 2.0

    官方消息,RT-Thread Smart已正式上線,目前源代碼可在Github、Gitee下載,采用Apache License 2.0。 源碼下載鏈接: https://github
    的頭像 發(fā)表于 11-26 14:49 ?2618次閱讀

    RT-ThreadSPI的細(xì)節(jié)內(nèi)容

    作為通信協(xié)議的兩大基礎(chǔ),IIC和SPI兩者的應(yīng)用都非常廣泛,一篇文章講過(guò)了RTTIIC的移植與實(shí)踐。 《一步到位!教你RT-Thread
    的頭像 發(fā)表于 09-30 15:35 ?3754次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>SPI的細(xì)節(jié)內(nèi)容

    RT-Thread全球技術(shù)大會(huì):KconfigRT-Thread中的工作機(jī)制

    RT-Thread全球技術(shù)大會(huì):KconfigRT-Thread中的工作機(jī)制 ? ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:49 ?1409次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):Kconfig<b class='flag-5'>在</b><b class='flag-5'>RT-Thread</b>中的工作機(jī)制

    RT-Thread全球技術(shù)大會(huì):RT-Thread編寫(xiě)測(cè)試用例

    RT-Thread全球技術(shù)大會(huì):RT-Thread編寫(xiě)測(cè)試用例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:28 ?1368次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):<b class='flag-5'>在</b><b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>編寫(xiě)測(cè)試用例

    RT-Thread全球技術(shù)大會(huì):RT-Thread底層匯編及arm與riscv的差異

    開(kāi)發(fā)者秦韋忠,RT-Thread全球技術(shù)大會(huì)上,以RT-Thread底層匯編及arm與riscv的差異為主題進(jìn)行了詳細(xì)的教程說(shuō)明。
    的頭像 發(fā)表于 05-28 09:56 ?1549次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):<b class='flag-5'>RT-Thread</b>底層匯編及<b class='flag-5'>在</b>arm與riscv<b class='flag-5'>上</b>的差異

    RT-Thread操作系統(tǒng)的FreeRTOS兼容層

    的兼容項(xiàng)目中。 1 概述 這是一個(gè)針對(duì)RT-Thread國(guó)產(chǎn)操作系統(tǒng)的FreeRTOS操作系統(tǒng)兼容層,可以讓原有基于FreeRTOS操作系統(tǒng)的項(xiàng)目快速、無(wú)感地遷移到RT-Thread操作系統(tǒng)
    的頭像 發(fā)表于 01-14 00:55 ?1464次閱讀

    RT-Thread文檔_RT-Thread 簡(jiǎn)介

    RT-Thread文檔_RT-Thread 簡(jiǎn)介
    發(fā)表于 02-22 18:22 ?5次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 簡(jiǎn)介

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    手把手教你RT-THREAD bsp運(yùn)行pikascript腳本點(diǎn)亮小燈

    簡(jiǎn)介 這篇文章介紹如何在RT-THREAD bsp運(yùn)行pikascript腳本。 pikascript相當(dāng)于一個(gè)小型的micropython。 原文: https://blog.csdn.net
    的頭像 發(fā)表于 05-25 07:45 ?740次閱讀
    手把手<b class='flag-5'>教你</b><b class='flag-5'>在</b><b class='flag-5'>RT-THREAD</b> bsp<b class='flag-5'>上</b>運(yùn)行pikascript腳本點(diǎn)亮小燈

    RT-Thread中的Github Actions

    RT-Thread中一共有五個(gè)Github Action(rt-thread/.github/workflow) 分別是: RT-Thread
    的頭像 發(fā)表于 06-01 03:10 ?549次閱讀
    <b class='flag-5'>RT-Thread</b>中的<b class='flag-5'>Github</b> Actions

    RT-Thread v5.0.2 發(fā)布

    RT-Thread 代碼倉(cāng)庫(kù)地址: ●? https://github.com/RT-Thread/rt-thread
    的頭像 發(fā)表于 10-10 18:45 ?1202次閱讀
    <b class='flag-5'>RT-Thread</b> v5.0.2 發(fā)布

    快速上手micro rosRT-Thread

    快速上手micro ros && RT-Thread(serial和udp方式)
    的頭像 發(fā)表于 10-26 16:13 ?894次閱讀
    <b class='flag-5'>快速</b>上手micro ros<b class='flag-5'>在</b><b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>

    RT-Thread 新里程碑達(dá)成——GitHub Star 破萬(wàn)!

    RT-Thread實(shí)時(shí)操作系統(tǒng)開(kāi)源項(xiàng)目GitHub的star數(shù)量突破一萬(wàn)!截止發(fā)文,RT-Thread作為實(shí)時(shí)操作系統(tǒng)在業(yè)界Star數(shù)量
    的頭像 發(fā)表于 07-04 08:35 ?269次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達(dá)成——<b class='flag-5'>GitHub</b> Star 破萬(wàn)!