集中式和分布式版本控制系統的區別

2021-10-02 23:10:25 字數 1590 閱讀 7721

集中式:

先說集中式版本控制系統。簡單的說就是,版本庫是集中的存放於**伺服器的。幹活的時候,先要去**伺服器裡領取最新的版本,然後在開始幹活。幹完活在將自己的版本上傳到**伺服器。

就好比要改一本書,先要從圖書館裡將書籍借閱出來,然後改完了之後,在將圖書歸還給圖書館。然後別人看到的就是最新的版本了。

缺點:

缺點就是,一但沒有網或者網路不好的話,自己寫的東西就很難得傳上去。別人也不能及時的看到。簡單的說就是沒有網就不能使用。

分布式:

分布式版本控制系統。分布式版本系統沒有絕對的所謂**伺服器,每個人的電腦上都有乙個版本庫,使用的時候就不需要進行聯網了。直接自己進行修改就行。既然每個人的電腦上都有乙個版本庫,那麼多個人如何進行寫作呢,只需要把你修改的和同事修改的進行交換就行。

比如說你修改了a檔案,你的乙個同事也修改了a檔案。這個時候只要把自己修改的部分推給對方,對方就能夠看到你的修改。

和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦裡都有完整的版本庫,某乙個人的電腦壞掉了不要緊,隨便從其他人那裡複製乙個就可以了。而集中式版本控制系統的**伺服器要是出了問題,所有人都沒法幹活了。

在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。

最根本的區別:

集中式和分布式最根本的區別就是:

分布式每個人的電腦上都可以直接拷貝完整的**版本。而集中式只能拷貝自己需要的。

分布式的伺服器掛掉之後,不會影響工作。而集中式的伺服器掛掉之後,根本就沒法進行工作。

當然,git的優勢不單是不必聯網這麼簡單,後面我們還會看到git極其強大的分支管理,把svn等遠遠拋在了後面。

cvs作為最早的開源而且免費的集中式版本控制系統,直到現在還有不少人在用。由於cvs自身設計的問題,會造成提交檔案不完整,版本庫莫名其妙損壞的情況。同樣是開源而且免費的svn修正了cvs的一些穩定性問題,是目前用得最多的集中式版本庫控制系統。

除了免費的外,還有收費的集中式版本控制系統,比如ibm的clearcase(以前是rational公司的,被ibm收購了),特點是安裝比windows還大,執行比蝸牛還慢,能用clearcase的一般是世界500強,他們有個共同的特點是財大氣粗,或者人傻錢多。

微軟自己也有乙個集中式版本控制系統叫vss,整合在visual studio中。由於其***的設計,連微軟自己都不好意思用了。

分布式版本控制系統除了git以及促使git誕生的bitkeeper外,還有類似git的mercurial和bazaar等。這些分布式版本控制系統各有特點,但最快、最簡單也最流行的依然是git!

分布式和集中式的版本控制的區別!

chapter 開始了解git 1.先談談版本控制的一些事 2.git誕生背後的一些故事 3.版本控制 集中式vs分布式 4.git的思想和基本工作原理 5.git在windows下的安裝 前面提到,linus一直痛恨cvs及svn這些集中式的版本控制系統,為什麼呢?git是分布式版本控制系統,那麼...

集中式vs分布式

linus一直痛恨的cvs及svn都是集中式的版本控制系統,而git是分布式版本控制系統,集中式和分布式版本控制系統有什麼區別呢?先說集中式版本控制系統,版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給 伺服...

第二章 集中式和分布式版本控制

前面已經說過,我們為什麼需要版本控制。而在版本管理軟體的具體實現上,人類經過了兩個階段。第一階段 集中式版本控制 理念非常簡單,通過乙個單一的集中式伺服器,儲存所有的檔案修訂版本。當使用者修改了檔案後,傳送到伺服器上,伺服器和原檔案進行對比,記錄下變化的內容。變化的內容包括修改時間,修改人,修改的具...