git、github、gitlab之間的關係

姚興泉發表於2018-08-09

Git – 版本控制工具 Github – 一個網站,提供給使用者空間建立git倉儲,儲存使用者的一些資料文件或者程式碼等 GitLab – 基於Git的專案管理軟體

Git分散式版本控制系統

Git是一款自由和開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。

Git – 版本控制工具

Git是一個開源的分散式版本控制系統,用以有效、高速的處理從很小到非常大的專案版本管理。

Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。

Torvalds 開始著手開發 Git 是為了作為一種過渡方案來替代 BitKeeper,後者之前一直是 Linux 核心開發人員在全球使用的主要原始碼工具。開放原始碼社群中的有些人覺得 BitKeeper 的許可證並不適合開放原始碼社群的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統。儘管最初 Git 的開發是為了輔助 Linux 核心開發的過程,但是我們已經發現在很多其他自由軟體專案中也使用了 Git。例如 最近就遷移到 Git 上來了,很多 Freedesktop 的專案也遷移到了 Git 上。

Github – 一個網站,提供給使用者空間建立git倉儲,儲存使用者的一些資料文件或者程式碼等

作為開原始碼庫以及版本控制系統,Github目前擁有140多萬開發者使用者。隨著越來越多的應用程式轉移到了雲上,Github已經成為了管理軟體開發以及發現已有程式碼的首選方法。

如前所述,作為一個分散式的版本控制系統,在Git中並不存在主庫這樣的概念,每一份複製出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合併。

GitHub可以託管各種git庫,並提供一個web介面,但與其它像 SourceForge或Google Code這樣的服務不同,GitHub的獨特賣點在於從另外一個專案進行分支的簡易性。為一個專案貢獻程式碼非常簡單:首先點選專案站點的“fork”的按鈕,然後將程式碼檢出並將修改加入到剛才分出的程式碼庫中,最後通過內建的“pull request”機制向專案負責人申請程式碼合併。已經有人將GitHub稱為程式碼玩家的MySpace。

GitLab – 基於Git的專案管理軟體

GitLab 是一個用於倉庫管理系統的開源專案。使用Git作為程式碼管理工具,並在此基礎上搭建起來的web服務。

三者都是基於git的,可以說是git的衍生品。


相關文章