更新時(shí)間:2022-06-06 09:41:22 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽828次
集中式
版本庫(kù)是集中存放在中央服務(wù)器的,工作的時(shí)候,使用自己的電腦,要先從中央服務(wù)器取得最新的版本,然后開(kāi)始工作,結(jié)束后,再把自己的變更推送給中央服務(wù)器。
示例圖:
缺點(diǎn)是必須聯(lián)網(wǎng)才能工作,操作時(shí)每一步都需要和服務(wù)器交互數(shù)據(jù),對(duì)網(wǎng)絡(luò)帶寬要求很高,文件過(guò)大時(shí)速度很慢
分布式
分布式版本控制系統(tǒng)本身沒(méi)有“中央服務(wù)器”,每個(gè)人的電腦上都是一個(gè)完整的版本庫(kù)。
和集中式版本控制系統(tǒng)相比,分布式版本控制系統(tǒng)的安全性要高很多,因?yàn)槊總€(gè)人電腦里都有完整的版本庫(kù),某一個(gè)人的電腦壞掉了不要緊,隨便從其他人那里復(fù)制一個(gè)就可以了。
在實(shí)際使用分布式版本控制系統(tǒng)的時(shí)候,其實(shí)很少在兩人之間的電腦上推送版本庫(kù)的修改,因?yàn)榭赡苣銈儌z不在一個(gè)局域網(wǎng)內(nèi),兩臺(tái)電腦互相訪問(wèn)不了,也可能今天你的同事病了,他的電腦壓根沒(méi)有開(kāi)機(jī)。因此,分布式版本控制系統(tǒng)通常也有一臺(tái)充當(dāng)“中央服務(wù)器”的電腦,但這個(gè)服務(wù)器的作用僅僅是用來(lái)方便“交換”大家的修改,沒(méi)有它大家也一樣干活,只是交換修改不方便而已。
示例圖:
區(qū)別
以 SVN(集中式),GIT(分布式)舉例
集中式(SVN) | 分布式(Git) | |
---|---|---|
是否有中央服務(wù)器 | 有。開(kāi)發(fā)人員需要從中央服務(wù)器獲得最新版本的項(xiàng)目然后在本地開(kāi)發(fā),開(kāi)發(fā)完推送給中央服務(wù)器。因此脫離服務(wù)器開(kāi)發(fā)者是幾乎無(wú)法工作的 | 沒(méi)有中央服務(wù)器,開(kāi)發(fā)人員本地都有 Local Repository |
網(wǎng)絡(luò)依賴(lài) | 必須要聯(lián)網(wǎng)才能工作,而且對(duì)網(wǎng)絡(luò)的依賴(lài)性較強(qiáng),如果推送的文件比較大而且網(wǎng)絡(luò)狀況欠佳,則提交文件的速度會(huì)受到很大的限制 | 分布式在沒(méi)有網(wǎng)絡(luò)的情況下也可以執(zhí)行commit、查看版本提交記錄、以及分支操作,在有網(wǎng)絡(luò)的情況下執(zhí)行 push 到 Remote Repository |
文件存儲(chǔ)格式 | 按照原始文件存儲(chǔ),體積較大 | 按照元數(shù)據(jù)方式存儲(chǔ),體積很小 |
是否有版本號(hào) | 有 | 沒(méi)有 |
文件存儲(chǔ)格式 | 按照原始文件存儲(chǔ),體積較大 | 按照元數(shù)據(jù)方式存儲(chǔ),體積很小 |
分支操作的影響 | 創(chuàng)建新的分支則所有的人都會(huì)擁有和你一樣的分支 | 分支操作不會(huì)影響其他開(kāi)發(fā)人員 |
提交 | 提交的文件會(huì)直接記錄到中央版本庫(kù) | 提交是本地操作,需要執(zhí)行push操作才會(huì)到主要版本庫(kù) |
以上就是關(guān)于“版本控制器的分類(lèi)”的介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容細(xì)致全面,從入門(mén)到精通都有,很適合沒(méi)有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743