如何在github上fork一個項目來貢獻代碼以及同步原作者的修改

來源:互聯網
上載者:User

作為一個IT人,通過github進行學習是最快的成長手段。我們可以瀏覽別人的優秀代碼。但只看不動手還是成長得很慢,因此為別人貢獻代碼才是明智之舉。比如我們看下片看,許多大片都是由字幕組免費翻譯壓制的。為什麼他們要這樣做呢?因為他們都是聰明的大學生,為了提高聽力水平,提高筆譯水平才這樣乾的!中國人都是非常實務的!因此貢獻代碼,參與開源項目都是有益無害的!好了,讓我們開始吧!

如何貢獻自己的力量

首先你總得有自己的github帳號吧,註冊一個,非常簡單,只需使用者名稱,郵箱,密碼,郵箱只是用來找回密碼的,不做驗證。因此註冊後立即能用!比如我現在新註冊一個叫JsLouvre的示範帳號。

然後搜尋我的項目——mass Framework

第一個就是,點擊進入項目,然後點上方的Fork按鈕,這就拷貝一份我的項目的副本作為你自己的項目

建立成功!

接著就是修改代碼了,這要在自己發現真的存在漏洞或有什麼改進之處才要動手啊!不能想改就改。要通讀你要改的那一部分,必要時通讀全架構。因此新手們最好找國內高手的架構進行學習,
一來中文注釋比較親切,二來也方便接下來的交流。通常我們在clone git到本地進行修改的,這又涉及另外一些工具與命令的學習。不過,github完全允許你線上上進行修改,提交,合并。

比如你發現data模組的注釋與mass模組的不一樣,要統一合并,將函數外的注釋移到裡頭。(更有意義的方式是,開啟http://www.jshint.com/,就能發現許多小問題。

變成編輯狀態,不過不太好用。大家有條件一定要學學如何使用TortoiseGit或Sublime Text 2下載github項目到本地,進行修改,提交,pull request啊!

請認真寫下你的修改日誌,方便原架構作者查閱。

修改成功後的樣子:

接著下來一步非常重要,就是提交你的修改給原作者。點擊上方的pull request按鈕!

紅色地區為原作者的項目,你要貢獻的目標;亮藍色地區為你的項目;黑色處填寫標題與必須描述;點擊右下方綠地區的按扭進行提交!

接著下來就是架構作者的事兒了,我會在自己的項目看到你們的提交。萬一以後你們有幸被別人貢獻代碼,也做這活兒。

點擊中間那個大大的pull request(2)的按鈕到另一頁面,中間有個被鮮綠色高亮的merge pull request按鈕。作者查看你的修改,覺得可以就點它進行合并。

最後你們就會在原項目上看到自己貢獻的代碼!


如何讓自己的項目與原作者的項目保持同步!

我經常看到許多人,只會fork一次,提交過一次修改就不知怎麼辦了!因此原架構作者是非常勤奮的,一天會提交N次,一個星期後許多檔案都改動過了,而那些代碼貢獻者不可能一個個跟著修改。
因此我們還是用到上方的pull request按鈕。

這次是把自己的項目放到左邊,原架構作者放到右邊,在選擇過程中,你會發現原架構作者有許多貢獻者的。這裡我希望大家一定要瀏覽Commits與Files Changed進行學習!這也是github最大的價值所在!把握別人對代碼的改進,最能提高我們編碼水平。這裡面會涉及大量的編碼技巧!

補上必要說明,然後點擊下方send pull request按鈕。

很快你就看到評論區最下方有個鮮綠色高亮的按鈕,繼續點就是。

繼續讓你確認,沒問題就繼續點!

這樣就同步成功!!!!!!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.