版本控制系統(tǒng)(VCS,Version Control System)可以劃分為集中式和分布式兩大類。集中式顧名思義,是用單一的服務(wù)器來集中管理保存項目的所有文件。項目團隊的成員通過客戶端連接到這臺服務(wù)器,下載或提交文件??蛻舳艘坏o法連接服務(wù)器,那么版本控制功能將無法使用(例如比較歷史版本差異;查看某個歷史版本內(nèi)容等)。集中式的VCS杰出代表是SVN。
分布式的特點是每個客戶端除了可以連接到一個集中的服務(wù)器外,客戶端本身可以是一個完整的版本控制倉庫,項目團隊成員可以在自己的電腦上對文件進行版本管理。分布式的VCS杰出代表是git。

集中式
最早出現(xiàn)的版本控制系統(tǒng)CVS
CVS的全稱是Concurrent Version System,誕生于1985年,荷蘭一所大學(xué)的一個教授為了方便自己和學(xué)生的協(xié)作開發(fā)而實現(xiàn)的。
CVS中確立的版本控制概念諸如commit、checkin、checkout、tag、branch等已經(jīng)成為版本控制系統(tǒng)的標(biāo)準(zhǔn)。
雖然現(xiàn)在仍然有項目在使用CVS,但是新項目基本上不會再考慮它了。
最流行的集中式版本控制系統(tǒng)SVN
SVN的全稱為Subversion,是在2000年由CollabNet公司發(fā)起開發(fā)的版本控制系統(tǒng),2009年左右,成為Apache的一個子項目。SVN是集中式版本控制管理的集大成者,目前仍有比較多的用戶項目在使用,不過近些年的市場占有率在大幅度下降了。
來自微軟公司的VSS及其替代者TFS
VSS的全稱是Visual Source Safe。早些年使用微軟技術(shù)開發(fā)的人應(yīng)該對VSS不會感到陌生。在2005年以后,VSS逐步被同樣是來自于微軟公司的TFS(Team Foundation Server)取代。VSS/TFS同微軟的開發(fā)工具集成的非常緊密,使用起來也十分便捷。TFS除了支持集中式的版本控制服務(wù)器管理外,也支持git托管服務(wù)器。TFS目前仍是微軟開發(fā)工具Visual Studio搭配的首選VCS。
分布式
江湖霸主Git
Git的作者是傳奇人物L(fēng)inus,著名的開源操作系統(tǒng)Linux作者。開發(fā)Git也和Linux有著直接關(guān)系。在2002年之前,Linux的源碼都是Linus人工進行管理的,后來Linus選擇了BitMover公司的一款分布式的商業(yè)版本控制系統(tǒng)BitKeeper,BitMover給與Linux社區(qū)免費的使用授權(quán)。在2005年的時候BitMover公司和Linux社區(qū)決裂了,于是Linus決定自己開發(fā)一款分布式版本控制系統(tǒng)以替代BitKeeper。2005年Linus用了兩周的時間完成了Git的核心開發(fā)m( _ _ )m。Git誕生后,使用Git的開源項目迅速增加。尤其是著名的基于git的托管開源網(wǎng)站GitHub的流行更加促成Git在版本控制系統(tǒng)市場的江湖霸主地位。