5. Github的使用


GitHub是什么呢?這里我引用下官方的說法吧:
GitHub是匯集了全世界開發者的最大的開發社區,它幫助開發者發現,共享和構建更好的軟件。從開源項目到私人團隊倉庫,GitHub是進行協作開發的統一平台。

我主要講一下,自己的Github應該怎么看,別人的倉庫應該怎么看。

目錄

個人頁面
項目基本面分析
查看項目目的分析
延展:搜索
延展:個人項目的開發

個人頁面

在GitHub上,我們可以創建自己的項目(倉庫)。倉庫分為公有庫和私有庫,私有庫需要付費(學生可以申請免費)。
我以前看到一個關於GitHub的類比“朋友圈”圖,我記憶很深刻,我這里仿造一個:

這樣就很好理解了吧,大型男性(划掉)程序員交友社區。
我們在衡量別的開發者的時候,也可以看看他的活躍程度,他的關注點(倉庫、Star)。

項目基本面分析

GitHub里有很多倉庫,對於倉庫應該怎么“看”,這里我說說我的看法。
aspnetboilerplate為例,初步了解一個項目,可以先看項目描述(有官網鏈接)和下面的README文檔。這些內容會迅速幫助我們掌握,這個項目是用來做什么的,包含哪些功能,支持哪些框架,設計理念是什么等等。我們以此確定,這是否是我們需要的東西,如果是,可以繼續往下衡量。


根據下圖,我按照數字順序依次說一下。

1:從左到右,
“Used By”,被多少人使用。
“Watch”被多少人關注,點擊關注,則此項目的討論、更新都會以郵件的形式發送給你,可以理解為“訂閱”。
“Star”,類似朋友圈的“我喜歡”,對應個人頁面中的Star tab。
Watch和Star越多,說明這個項目越多人關注、使用,可靠性越高。
“Fork”,會復制一個該倉庫的副本到我們的倉庫下,借此我們以此為基礎,進行二次開發。當然也可以在開發完成后提交給原倉庫,使用圖中數字6的“New pull request”按鈕,選擇自己的倉庫->原倉庫即可。
用圖來說明就是下圖這個流程,當然2、3是做了簡化的,2、3是之前“版本控制”篇提到的那些流程,clone-commit-pull-push。

2:那幾個Tab一般看Code和Issues較多,
Code就是代碼,當前頁。
Issues一般是使用該項目的開發者提出的一些Bug反饋、優化建議、Feature目標等。在衡量一個項目是否值得采納的時候,可以簡單掃一下,主要看看是否有重大bug沒有修復、開發者的反饋速度如何、整個項目是否活躍。
3:Release是發布版本,可以在此下載該項目的各個版本。根據需求確定是否下載,因為也可能可以通過nuget直接安裝或者通過其它方式安裝。
再來可以看下版本號,一般最新版本為0.x、1.x,證明項目可能還不夠完善,開發時間還不長,使用者還不夠多。
4:克隆或下載倉庫的地方。
5:切換分支。在“版本控制”篇中,我們提到了“分支”的概念,回憶一下,修復bug的分支、准備發布的分支、開發新功能的分支等等。
6:Pull request,提交代碼給該倉庫。
7:倉庫文件列表,重點是看后面的最后提交時間,特別是一般會有的“src”文件夾的提交情況。像現在這種兩天前更新,說明該項目十分活躍。
如果顯示最后一次提交在一年以前,則基本說明該項目已經無人維護了,則應該考慮不采用該項目。
至於其他的功能,就自行探索吧。
自己的項目與別人的項目有所差別,包括一些操作,比如刪除倉庫、改名、為其他開發者授權、分支管理、通知設置、訪客限制等等,都是關於Git倉庫的一些操作和GitHub業務相關的內容。就像自己的朋友圈自己可以編輯、刪除,但是別人的朋友圈,我們沒有權限操作,類似的。

查看項目目的分析

對於別人家的項目呢,我覺得可以根據目的進行不同的操作。
如果是抱着學習的態度呢,克隆倉庫,好好研讀。
如果是抱着想使用它的功能的態度呢,先看README,或者一般項目描述也會貼官網鏈接,去官府看Document,都可以快速入門。
如果使用過程遇到問題,先搜索“項目名稱 遇到的問題”,看看有沒有現成的答案。如果沒有,可以給他們提Issues,看開發組的情況,比較活躍的可以很快得到解答。但不推薦提Issues這個方式,因為“Issues”是用於代碼有問題,出Bug,提新的功能(比如增加對XXX的支持)的,而不是解決使用上的問題的。
如果你對某個項目很感興趣,你也可以為它添磚加瓦(Fork)。

延展:搜索

有時候Github在解決疑難雜症的問題上也是頗有效果。
比如找一些特定的功能,在左上角直接搜索關鍵詞,可能會有意外的收獲哦~

在搜索一些奇奇怪怪的問題時,比如特定的類名方法名、比較少見的報錯內容,有時候可以在Github上面搜索到關鍵代碼段。這種方式一般用谷歌搜索比較見效,必應目前對Github的支持還不夠好。

延展:個人項目的開發

參考“項目基本面分析”的內容,我們在維護個人項目的時候,也應該在項目描述上簡單寫上“這個項目是做什么的”,應該添加一個README文件,進行詳細說明。
如果需要寫一系列的文檔,則應該寫Wiki,並在README上按照順序附上鏈接。
如此,可以讓其他開發者對你的項目可以迅速上手,也會提高你的項目的使用率。

看完是不是覺得Github是個大神器!是的,它就是!善用Github,可以把你的水平拉高幾個檔次呢~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM