1024程序員節(jié),首先向改變世界的程序員致敬!真心祝愿天下的程序員:碼無Bug,少加班,邂逅真愛,多加薪。用技術(shù)改變世界的你們,值得更多的美好!
RT-Thread作為一款自主物聯(lián)網(wǎng)操作系統(tǒng),通過開源社區(qū)的方式開發(fā),截止目前已有多達(dá)上百位程序員在Github上為RT-Thread貢獻(xiàn)代碼,當(dāng)然還有很多沒有在Github上提交代碼的貢獻(xiàn)者,真誠地感謝您們對RT-Thread付出的心血!
支持RT-Thread的粉絲們請給RT-Thread項(xiàng)目主倉點(diǎn)星星:https://github.com/RT-Thread/rt-thread,以鼓勵(lì)RT-Thread的開發(fā)者們,也希望有越來越多的RT-Thread貢獻(xiàn)者,為RT-Thread貢獻(xiàn)更多的代碼!
↓↓↓
如果您愿意給RT-Thread貢獻(xiàn)代碼,歡迎通過 GitHub 的 fork 和 pull request 流程來提交代碼。 代碼要求請參考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的意思是推送請求,開發(fā)者發(fā)起pull request 的目的是請求倉庫維護(hù)人采用開發(fā)者提交的代碼。下面是摘自知乎 網(wǎng)友的一段解釋:
我嘗試用類比的方法來解釋一下pull reqeust。想想我們中學(xué)考試,老師改卷的場景吧。你做的試卷就像倉庫,你的試卷肯定會(huì)有很多錯(cuò)誤,就相當(dāng)于程序里的bug。老師把你的試卷拿過來,相當(dāng)于先fork。在你的卷子上做一些修改批注,相當(dāng)于git commit。最后把改好的試卷給你,相當(dāng)于發(fā)pull request,你拿到試卷重新改正錯(cuò)誤,相當(dāng)于merge。
當(dāng)你想更正別人倉庫里的錯(cuò)誤時(shí),要按照下面的流程進(jìn)行:
先 fork 別人的倉庫,相當(dāng)于拷貝一份別人的資料。因?yàn)椴荒鼙WC你的修改一定是正確的,對項(xiàng)目有利的,所以你不能直接在別人的倉庫里修改,而是要先fork到自己的git倉庫中。
clone到自己的本地分支,做一些bug fix,然后發(fā)起pull request給原倉庫,讓原倉庫的管理者看到你提交的修改。
原倉庫的管理者review這個(gè)bug,如果是正確的話,就會(huì)merge到他自己的項(xiàng)目中。merge的意思就是合并,將你修改的這部分代碼合并到原來的倉庫中添加代碼或者替換掉原來的代碼。至此,整個(gè) pull request 的過程就結(jié)束了,原來倉庫中就有了你貢獻(xiàn)的代碼啦。
現(xiàn)在以rt-thread倉庫為例說明貢獻(xiàn)代碼的流程:
1. fork將rt-thread倉庫fork到自己的git倉庫中。
2. 克?。╟lone)
將rt-thread倉庫clone到自己的本地PC。
3. 創(chuàng)建本地分支如果想要在rtt項(xiàng)目上做自己的開發(fā),最好創(chuàng)建屬于自己的項(xiàng)目分支,如果是直接對rtt貢獻(xiàn)代碼,那么可以直接在master分支上進(jìn)行操作。
4. 開發(fā)
發(fā)現(xiàn)了一個(gè)小bug并進(jìn)行修改。
5. 提交(commit)向本地倉庫提交bug
6. 保持本地倉庫最新
在準(zhǔn)備發(fā)起 Pull Request 之前,需要同步原倉庫最新的代碼,記得檢查目前的項(xiàng)目是否是最新的版本。
7. Push 到遠(yuǎn)程倉庫push到開發(fā)者自己的遠(yuǎn)程倉庫中。
8. 發(fā)起并完成 Pull Request
在git倉庫中選擇自己修改了的分支,點(diǎn)擊create pull request按鈕發(fā)起pull request.
9. 提交代碼的一些約定
發(fā)起請求成功后,RT-Thread維護(hù)人就可以看到你提交的代碼。pull request如果被同意,你的代碼就會(huì)被合并到倉庫中。
關(guān)于如何有效提交補(bǔ)丁,可以考慮遵循以下的一些事項(xiàng):
自己的代碼嚴(yán)格遵守RT-Thread的代碼規(guī)范;RT-Thread是一個(gè)干凈,清晰的系統(tǒng),代碼是給人看的(機(jī)器碼才是給機(jī)器看的),所以如何寫一份清晰、整潔的代碼也是一門學(xué)問。相信能夠合并一個(gè)PR,也是對你代碼的提高;
BSP的代碼,請盡量確保代碼改動(dòng)僅限制于BSP中,而不影響到其他代碼。一上來不管三七二十,大幅修改,而不考慮其他代碼(內(nèi)核、組件)的感受,被拒絕拒掉,妥妥的!
修改組件的代碼也請盡量限制于本組件以內(nèi),天馬行空會(huì)被禁空,沒商量的;
提交時(shí),更改說明的message,最好把相關(guān)的緣由寫出,并在message標(biāo)題上增加[BSP]/[組件名]等等的標(biāo)識。
提交PR后,也多看看一些反饋,這其中可能就包括維護(hù)人對代碼的review給出的整改意見,PR掛著不理會(huì)反饋,時(shí)間長了,也會(huì)被拒的。
總而言之,提交代碼,發(fā)PR,是讓RT-Thread更棒!也是讓自己的人生有不一樣的色彩!
至此,我們就完成了一次代碼貢獻(xiàn)的過程。
恭喜,你就成為一個(gè)RT-Thread 的貢獻(xiàn)者了。請繼續(xù)提交代碼!
-
RT-Thread
+關(guān)注
關(guān)注
31文章
1289瀏覽量
40140 -
GitHub
+關(guān)注
關(guān)注
3文章
471瀏覽量
16451
原文標(biāo)題:在Github上為RT-Thread貢獻(xiàn)代碼,為自己的人生涂色(文末有1024節(jié)福利)
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論