首頁(yè)技術(shù)文章正文

git、github、gitlab三者之間的聯(lián)系以及區(qū)別?

更新時(shí)間:2021-11-19 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

1、git

git是一個(gè)版本控制系統(tǒng)。

版本控制是一種用于記錄一個(gè)或多個(gè)文件內(nèi)容變化,方便我們查閱特定版本修訂情況的系統(tǒng)。

早期出現(xiàn)的版本控制系統(tǒng)有:svn、cvs 等,它們是集中式版本控制系統(tǒng),都有一個(gè)單一的集中管理的服務(wù)器,保存所有文件的修訂版本,而協(xié)同合作的開(kāi)發(fā)人員都通過(guò)客戶端連接到這臺(tái)服務(wù)器,取出最新的文件或者提交更新。

而我們的主角git是分布式版本控制系統(tǒng)。git 已經(jīng)成為越來(lái)越多開(kāi)發(fā)者的青睞,因?yàn)榉植际降膬?yōu)勢(shì)是很顯著的。

2、集中式和分布式版本控制系統(tǒng)的區(qū)別:

(1)分布式版本控制系統(tǒng)下的本地倉(cāng)庫(kù)包含代碼庫(kù)還有歷史庫(kù),在本地就可以查看版本歷史;

(2)而集中式版本控制系統(tǒng)下的歷史倉(cāng)庫(kù)是存在于中央倉(cāng)庫(kù),每次對(duì)比與提交代碼都必須連接到中央倉(cāng)庫(kù);

(3)多人開(kāi)發(fā)時(shí),如果充當(dāng)中央倉(cāng)庫(kù)的 git 倉(cāng)庫(kù)掛掉了,任何一個(gè)開(kāi)發(fā)者都可以隨時(shí)創(chuàng)建一個(gè)新的中央倉(cāng)庫(kù)然后同步就可以恢復(fù)中央倉(cāng)庫(kù)。


3、github和gitlab

github和gitlab都是基于web的git倉(cāng)庫(kù),使用起來(lái)二者差不多,它們都提供了分享開(kāi)源項(xiàng)目的平臺(tái),為開(kāi)發(fā)團(tuán)隊(duì)提供了存儲(chǔ)、分享、發(fā)布和合作開(kāi)發(fā)項(xiàng)目的中心化云存儲(chǔ)的場(chǎng)所。

github作為開(kāi)源代碼庫(kù),擁有超過(guò)900萬(wàn)的開(kāi)發(fā)者用戶,目前仍然是最火的開(kāi)源項(xiàng)目托管平臺(tái),github同時(shí)提供公共倉(cāng)庫(kù)和私有倉(cāng)庫(kù),但如果使用私有倉(cāng)庫(kù),是需要付費(fèi)的。

gitlab解決了這個(gè)問(wèn)題,你可以在上面創(chuàng)建私人的免費(fèi)倉(cāng)庫(kù),讓開(kāi)發(fā)團(tuán)隊(duì)對(duì)他們的代碼倉(cāng)庫(kù)擁有更多的控制。

gitlab特色

(1)允許免費(fèi)設(shè)置倉(cāng)庫(kù)權(quán)限;

(2)允許用戶選擇分享一個(gè) project 的部分代碼;

(3)允許用戶設(shè)置 project 的獲取權(quán)限,進(jìn)一步提升安全性;

(4)可以設(shè)置獲取到團(tuán)隊(duì)整體的改進(jìn)進(jìn)度;

(5)通過(guò)innersourcing讓不在權(quán)限范圍內(nèi)的人訪問(wèn)不到該資源;所以,從代碼的私有性上來(lái)看,gitlab是一個(gè)更好的選擇。但是對(duì)于開(kāi)源項(xiàng)目而言,github依然是代碼托管的首選。



猜你喜歡

Git零基礎(chǔ)入門(mén)到實(shí)戰(zhàn)教程

什么是Git?Git發(fā)展歷程

Python JsonPath解析json的方法

黑馬程序員HTML&JS+前端課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!