分布式版本控制(完)

2021-08-22 14:34:54 字數 1417 閱讀 2141

本篇作乙個簡單的總結。

先看一下drcs與傳統scm之間的比較。雖然drcs有很多優勢,但是完全取代集中式的scm還是不太可能的,畢竟是兩個完全不同的思路。

我 曾經樂觀地認為drcs會取代傳統scm,但這只是我個人的體會,我可以很輕鬆地把svn換成mercurial,但是並不表示這對所有人都是合適的。令 狐就指出,在他們公司,因為在vss的基礎上有一整套自己的管理工具和規範,即使明知有更好的選擇,也不太可能就把它換掉的。

除了這種情況以外,對於公司模式的開發團隊來說,還是需要對源**有乙個集中管理的約束,在這樣的情況下,集中式scm還是大有作為的。

但是對於個人、小團隊、分布式團隊、特別是開源的開發團隊來說,drcs還是具有傳統scm不可比擬的優勢。而且drcs中的很多優點也是很值得傳統scm借鑑的。比如靈活方便的分支/合併功能。svn的分支合併功能實在是太弱了,用過的都知道。

再比較一下bazaar和mercurial。雖然前幾篇中也零散地提到,這裡彙總一下。二者在常用功能的操作方面幾乎都是秉承傳統scm的操作方式,包括幾乎完全相同的操作命令和引數,以及相似的配置檔案專案。所以這方面就不說了,只說說二者不同的方面。

bazaar 的優點是智慧型重新命名,這個在大專案中進行目錄重新命名時會有優勢,但是這個功能畢竟不常用。mercurial的重新命名與傳統scm是一樣的,都是刪除後重 新新增。在操作效能上mercurial完勝bazaar,在安裝方便性上也是mercurial勝出——bazaar在使用ssh方式進還需要自己安裝 額外的依賴軟體包。

兩種drcs最大的區別還是在於對遠端repository的操作方面。二者都支援通過http和ssh兩種方式訪問遠端repository,但實現方式有所不同。

bazaar的http方式很簡單,只要在web server裡配置乙個directory專案,允許通過http訪問repository中的.bzr目錄即可。不過bazaar的http方式只提供讀操作功能,這是它的不足之處。

需 要進行遠端repository的讀寫操作,還是要用sftp——ftp over ssh——方式。當然這種訪問方式的實現也很簡單,只要伺服器支援sftp即可使用。甚至不需要在服務端安裝bazaar,遠端repository的操 作(包括初始建立)也全都是在客戶端進行。

mercurial的情況則要麻煩一些。它的遠端repository操作的前提是必須在服務端安裝乙個mercurial,遠端repository也必須在服務端使用init命令建立才可以使用。

首 先是http方式,這需要在服務端執行serve命令,在特定埠上提供http服務,然後由實際的web server通過mod_proxy等方式**一下使用。這樣的代價就是需要在服務端消耗額外的資源,但換來的好處是可以提供更強大的功能,而不是像 bazaar那樣只能讀訪問。

結論就是沒有結論~~冏rz

svn,bazaar,mercurial都很不錯,用哪個就看你的實際情況需要了。另,就算是要三個一起用,也不會有什麼大的衝突。

分布式版本控制

git基本概念 git倉庫 儲存所有資料的地方 工作區 從倉庫中提取出來的檔案,放在磁碟上供你使用或修改 暫存區 就是乙個檔案,索引檔案,儲存了下次將提交的檔案列表資訊 版本控制軟體 1 集中式版本控制軟體 cvs svn subversion 2 分布式版本控制軟體 git bitkeeper 收...

GIT分布式版本控制

git config global user.name your name git config global user.email email example.com git init初始化建立版本庫 git clone url從網路上轉殖repository,注意clone是複製了history...

分布式版本控制(二)

本篇介紹bazaar 我知道bazaar是從livid那裡看到的,他這篇介紹基本上就是翻譯bazaar官方的乙個快速入門文件,強烈推薦參考一下。bazaar 的缺點是速度太慢。它的慢倒不是像雲風所說的那樣,對大專案太慢,而是因為它是純python的程式,在windows下每次執行都要啟動python...