1. 程式人生 > 其它 >對原始碼管理工具GitHub的介紹

對原始碼管理工具GitHub的介紹

一、簡介

GitHub是一個面向開源及私有軟體專案的託管平臺,因為只支援Git作為唯一的版本庫格式進行託管,故名GitHub。GitHub於2008年4月10日正式上線,除了Git程式碼倉庫託管及基本的Web管理介面以外,還提供了訂閱、討論組、文字渲染、線上檔案編輯器、協作圖譜(報表)、程式碼片段分享(Gist)等功能。目前,其註冊使用者已經超過350萬,託管版本數量也是非常之多,其中不乏知名開源專案Ruby on Rails、jQuery、python等。

二、基本功能

作為開原始碼庫以及版本控制系統,Github擁有超過900萬開發者使用者。隨著越來越多的應用程式轉移到了雲上,Github已經成為了管理軟體開發以及發現已有程式碼的首選方法。 作為一個分散式的版本控制系統,在Git中並不存在主庫這樣的概念,每一份複製出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合併。 GitHub可以託管各種git庫,並提供一個web介面,但它與外國的SourceForge、Google Code或中國的coding的服務不同,GitHub的獨特賣點在於從另外一個專案進行分支的簡易性。為一個專案貢獻程式碼非常簡單:首先點選專案站點的“fork”的按鈕,然後將程式碼檢出並將修改加入到剛才分出的程式碼庫中,最後通過內建的“pull request”機制向專案負責人申請程式碼合併。已經有人將GitHub稱為程式碼玩家的MySpace。 在GitHub進行分支就像在MySpace(或Facebook)進行交友一樣,在社會關係圖的節點中不斷的連線。 GitHub專案本身自然而然的也在GitHub上進行託管,只不過在一個私有的,公共檢視不可見的庫中。開源專案可以免費託管,但私有庫則並不如此。Chris Wanstrath,GitHub的開發者之一,肯定了通過付費的私有庫來在財務上支援免費庫的託管這一計劃。 通過與客戶的接洽,開發FamSpam,甚至是開發GitHub本身,GitHub的私有庫已經被證明了物有所值。任何希望節省時間並希望和團隊其它成員一樣遠離頁面頻繁轉換之苦的人士都會從GitHub中獲得他們真正想要的價值。 在GitHub,使用者可以十分輕易地找到海量的開原始碼。

 三、重要功能

GitHub有以下幾個重要功能:

1.Wiki

Wiki是一個使用簡單的語法就能編寫文件的功能。所有有許可權的人都可以對文章進行修改,所以比較適合多人共同編寫文章的情況。該功能常用在開發文件或手冊的編寫中。Wiki頁也是作為Git倉庫進行管理的,改版的歷史記錄會被切實儲存下來,使用者可以放心改寫。由於其支援克隆至本地進行編輯,所以程式設計師在建立、編輯文件時不必另外啟動軟體,用起來十分方便,非常適合用來針對更新頻率較高的軟體進行文件等資訊方面的彙總。
2.Issue

Issue功能,是將一個任務或問題分配給一個Issue進行追蹤和管理的功能。可以像BUG管理系統或TiDD(Ticket-driven Development)的Ticket一樣使用。在GitHub上,每當進行我們即將講解的PullRequest,都會同時建立一個Issue。每一個功能更改或修正都對應一個Issue,討論或修正都以這個Issue為中心進行。只要檢視Issue,就能知道和這個更改相關的一切資訊,並以此進行管理。

在Git的提交資訊中寫上Issue的ID(例如“#7”), GitHub就會自動生成從Issue到對應提交的連結。另外,只要按照特定的格式描述提交資訊,還可以關閉Issue。這是一個非常方便的功能,請務必實踐一下。

3.Pull Request

開發者向GitHub的倉庫推送更改或功能新增後,可以通過PullRequest功能向別人的倉庫提出申請,請求對方合併。Pull Request送出後,目標倉庫的管理者等人將能夠檢視PullRequest的內容及其中包含的程式碼更改。同時,GitHub還提供了對Pull Request和原始碼前後差別進行討論的功能。通過此功能,可以以行為單位對原始碼新增評論,讓程式設計師之間高效地交流。

假如我們正在使用GitHub上的開源軟體過程中發現了bug,並對它進行了改正,這時就需要使用Pull Request功能請求對方倉庫採納該修改,傳送Pull Request後,對方會收到一個附帶原始碼的Issue,這就是Pull Request;只要Pull Request被順利採納,我們就會成為這個專案的Contributor(貢獻者),我們編寫的這段程式碼也將被全世界的人使用。

四、基本操作步驟

1.註冊一個賬戶

 2.start a proje 建立一個倉庫

填寫倉庫名稱和描述

3.建立一個新檔案

輸入想要提交的程式碼

填寫檔名和描述

點選Commit new file,完成建立後會自動跳轉到倉庫主頁

4.修改及儲存

在主頁點選相應的檔名可以對檔案內容進行修改。在github上,提交和儲存修改的操作是commits,每一次的commit都會被記錄,可以被其他使用者檢視。

五、其他

GitHub擁有眾多操作空間:搜尋並檢視別人的專案、下載和修改專案、查詢學習資料等