【Git】PR:讓開源項目merge你的代碼

前言:
本文旨在記錄Git的pull request實戰(zhàn)以及相關(guān)的技術(shù)好文的傳送門(≧?≦)
本文假定你已經(jīng)有g(shù)ithub賬號,本地已經(jīng)安裝git。如果沒有,請下拉至分割線( 30分鐘入門github的傳送門!(⊙o⊙)!)。

看過一篇文章,如果不擅長講故事,那就從what 、why 、how三大法則講起(^-^)V (什么!你有更好的講故事套路?! 請教我(づ ̄3 ̄)づ)


what & why

Pull request是開發(fā)者使用Github進(jìn)行協(xié)作的利器。
Pull Request是協(xié)作者修改代碼后或在原基礎(chǔ)上增加新代碼后向倉庫發(fā)送采納的請求功能 ; 同時pull request還是一個專注于某個提議功能的討論版,協(xié)作者可以根據(jù)code reviewer的意見再次修改并提交新的request。

awesome-vue pull request界面

how

在了解pull request的應(yīng)用場景后,現(xiàn)在嘗試在github上進(jìn)行第一次的pull request。
由于最近在學(xué)習(xí)<a >vue</a>,同時利用<a >freecodecamp</a>的項目作為練手(畢竟自己提需求總是在徇私 W( ̄_ ̄)W ),所以把自己寫好的<a >vue小項目</a>鏈接提交到<a >awesome-vue- Example ★11,002 </a>上面去,被尤大大的項目收錄還是很激動噠(≧▽≦)/。
所以以下的對象:尤大大的awesome-vue倉庫,本人(路人甲)的倉庫。

Step 0:

先到Github page上對awesome-vue官方項目進(jìn)行fork操作


Step0 : Fork!
Step 1:

在對awesome-vue官方項目進(jìn)行fork操作后,自己的Github服務(wù)端就有了一個項目的副本,也就是可以在自己的repo中看到同名項目。


Step1:自己的Github服務(wù)端
Step 2:

把剛剛fork的Github倉庫克隆到本地,這樣才能在本地對項目進(jìn)行修改或者更新。打開cmd或者git bash,進(jìn)行g(shù)it clone。
git clone https://github.com/your-github-name/your-project.git

Step 3:

現(xiàn)在本地已經(jīng)有了項目副本,是否可以立刻對項目進(jìn)行更新或者修改呢?Github很棒的地方在于讓我們每個協(xié)作者都有屬于自己的開發(fā)環(huán)境而不影響主項目,項目reviewer可以看到你更新的部分并且進(jìn)行與現(xiàn)有項目的合并。
現(xiàn)在,我們應(yīng)該創(chuàng)建一個屬于自己的分支,在這個屬于自己的分支中進(jìn)行更新,這個分支將是隨后發(fā)起pull request時要提交的源分支。
cd your project
創(chuàng)建屬于自己的分支,并切換到該分支
git branch -b your-branch
查看當(dāng)前所在分支
git branch

舉個栗子.JPG
Step 4:

在屬于自己的分支進(jìn)行項目內(nèi)容更新,并且把你的更新提交到你的github遠(yuǎn)程倉庫中。
編輯一些代碼/更新項目文件
git commit -a -m "新功能的一些草稿"
git push orgin your-branch

Step 5:

好(o)/~ 現(xiàn)在可以把自己的項目更新進(jìn)行pull request了!可以讓項目reviewer看到自己的東西并且合并到項目中去了!!
Github上已經(jīng)有了自己的feature分支之后,點(diǎn)擊項目簡介下的 New Pull request 按鈕,創(chuàng)建一個pull request。

pull request進(jìn)行時

Step 6:

當(dāng)點(diǎn)擊New Pull request 按鈕后,會自動跳轉(zhuǎn)到官方項目的repo,
如下圖,將vue/awesome-vue(<b>源倉庫</b>)的master(<b>源分支</b>)合并到<b>目標(biāo)倉庫</b>的<b>目標(biāo)分支</b>。


open a pull request.png

完成!O(∩_∩)O!


原理圖鎮(zhèn)樓
Step 7:

靜靜等待項目reviewer審核你的request。

First pull request
pull request Approve!!
參考Reference:
  • <a >基于Github的pull request流程做開源貢獻(xiàn)</a>
  • <a >如何同步 Github fork 出來的分支</a>

===================假裝是分割線======================

Git 快速入門:
  • <a >果殼中的 Git</a>
  • <a href="http://www.itdecent.cn/p/66f41a89b6b5">Github 的注冊與使用教程以及github page (一)</a>
  • <a href="http://www.itdecent.cn/p/cd1430161149">三十分鐘學(xué)會Git</a>
  • <a >常用 Git 命令清單</a>
  • <a >Learn Git Branching - 動畫教學(xué)</a>
  • <a href="http://www.itdecent.cn/p/bfec042349ca">話說Svn與Git的區(qū)別(以后別再問我了)</a>

原創(chuàng)文章

簡書:<a href="http://www.itdecent.cn/u/c0600377679d">HelloCherry</a>
Github: <a >CaiYiLiang</a>
其它文章:<a href="http://www.itdecent.cn/p/7a35fa90810f">Node.js | 更tech地解決Excel表的郵件地址</a>
vue-projects:<a >vue-demos</a>

如果覺得有一點(diǎn)點(diǎn)幫助,一個??就是鼓勵(。⌒?⌒)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容