2021-05-12 14:32:11
如何在GitHub上fork一個專案來貢獻程式碼以及同步原作者的修改
作為一個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按鈕。
很快你就看到評論區最下方有個鮮綠色高亮的按鈕,繼續點就是。
繼續讓你確認,沒問題就繼續點!
這樣就同步成功!
GitHub 教學系列文章:
通過GitHub建立個人技術部落格圖文詳解 http://www.linuxidc.com/Linux/2015-02/114121.htm
GitHub 使用教學圖文詳解 http://www.linuxidc.com/Linux/2014-09/106230.htm
Git 標籤管理詳解 http://www.linuxidc.com/Linux/2014-09/106231.htm
Git 分支管理詳解 http://www.linuxidc.com/Linux/2014-09/106232.htm
Git 遠端倉庫詳解 http://www.linuxidc.com/Linux/2014-09/106233.htm
Git 本地倉庫(Repository)詳解 http://www.linuxidc.com/Linux/2014-09/106234.htm
Git 伺服器搭建與用戶端安裝 http://www.linuxidc.com/Linux/2014-05/101830.htm
Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm
分享實用的GitHub 使用教學 http://www.linuxidc.com/Linux/2014-04/100556.htm
相關文章