VCS 版本控制系統(tǒng)是當(dāng)前任何一個(gè)開(kāi)發(fā)團(tuán)隊(duì)協(xié)作開(kāi)發(fā)中不可或缺的一部分,本文向你介紹 9 款常見(jiàn)而且比較受歡迎的版本控制系統(tǒng)。
Git 是 Linux Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件。
Bazaar 是一個(gè)分布式的版本控制系統(tǒng),它發(fā)布在 GPL 許可協(xié)議之下,并可用于 Windows、GNU/Linux、UNIX 以及 Mac OS 系統(tǒng)。Bazaar 由 Canonical 公司贊助,目前已服務(wù)于Samba、Drupal 等知名的開(kāi)源項(xiàng)目。
Bazaar 當(dāng)前已經(jīng)包含許多有用的功能,這些功能使之具有如下鮮明的特點(diǎn):
Bazaar 也包括智能合并、支持插件、可與第三方工具整合、文檔支持等其他特性。
5. Mercurial
Mercurial 是一種輕量級(jí)分布式版本控制系統(tǒng),采用 Python 語(yǔ)言實(shí)現(xiàn),易于學(xué)習(xí)和使用,擴(kuò)展性強(qiáng)。相對(duì)于傳統(tǒng)的版本控制,具有如下優(yōu)點(diǎn):
- 更輕松的管理。
傳統(tǒng)的版本控制系統(tǒng)使用集中式的 repository,一些和 repository相關(guān)的管理就只能由管理員一個(gè)人進(jìn)行。由于采用了分布式的模型,Mercurial 中就沒(méi)有這樣的困擾,每個(gè)用戶(hù)管理自己的 repository,管理員只需協(xié)調(diào)同步這些repository。 - 更健壯的系統(tǒng)。
分布式系統(tǒng)比集中式的單服務(wù)器系統(tǒng)更健壯,單服務(wù)器系統(tǒng)一旦服務(wù)器出現(xiàn)問(wèn)題整個(gè)系統(tǒng)就不能運(yùn)行了,分布式系統(tǒng)通常不會(huì)因?yàn)橐粌蓚€(gè)節(jié)點(diǎn)而受到影響。 - 對(duì)網(wǎng)絡(luò)的依賴(lài)性更低。
由于同步可以放在任意時(shí)刻進(jìn)行,Mercurial 甚至可以離線進(jìn)行管理,只需在有網(wǎng)絡(luò)連接時(shí)同步
6. FOssil

Fossil 是一個(gè)簡(jiǎn)單、高可靠性的分布式軟件配置管理系統(tǒng)。值得關(guān)注的功能:
1. Bug跟蹤和Wiki
2. Web接口
3. 自動(dòng)同步
4. 支持 HTTP 接口
5. 嵌入式 CGI
6. 穩(wěn)健而且可靠
7. OpenCVS

OPENCVS 是自由的協(xié)作版本系統(tǒng)(CVS)實(shí)現(xiàn),CVS 是最流行的開(kāi)放源代碼版本控制軟件。它可以用于客戶(hù)端, 以及服務(wù)器端的版本庫(kù),提供了對(duì)存儲(chǔ)在版本庫(kù)中的數(shù)據(jù)的細(xì)粒度訪問(wèn)控制。 它的目標(biāo)是除了完全減少系統(tǒng)安全性的特性之外, 盡可能的與其它的 CVS 實(shí)現(xiàn)兼容。
OPENCVS 項(xiàng)目是在最近 GNU CVS 弱點(diǎn)暴露之后,經(jīng)過(guò)討論之后啟動(dòng)的。 盡管 CVS 被廣泛使用,但是最近幾年它的開(kāi)發(fā)已經(jīng)基本停止了。 CVS 的實(shí)現(xiàn)和設(shè)計(jì),已經(jīng)被發(fā)現(xiàn)許多安全問(wèn)題。
8. Monotone

monotone 是一個(gè)分布式版本控制系統(tǒng),提供了簡(jiǎn)單的、單文件事務(wù)版本存儲(chǔ)和點(diǎn)對(duì)點(diǎn)同步協(xié)議,支持歷史版本敏感的合并操作、輕量級(jí)分支處理以及集成代碼評(píng)審和第三方測(cè)試工具。使用加密的版本命令方式和客戶(hù)端 RSA 認(rèn)證,很好的支持國(guó)際化,不依賴(lài)第三方工具,支持跨平臺(tái)。
10. CVS
CVS(Concurrent Versions System)老牌的版本控制系統(tǒng),它是基于客戶(hù)端/服務(wù)器的行為使得其可容納多用戶(hù),構(gòu)成網(wǎng)絡(luò)也很方便。這一特性使得CVS成為位于不同地點(diǎn)的人同時(shí)處理數(shù)據(jù)文件(特別是程序的源代碼)時(shí)的首選。