分布式版本控制系統 Mercurial與TortoiseHg

fmms 12年前發布 | 34K 次閱讀 Mercurial 版本控制系統
Mercurial是我最喜歡的下一代分布式版本控制系統。簡單,快速,高效,強大。
最主要的是他的圖像客戶端TortoiseHg,TortoiseHg就能把所有的比下去了。

為什么不是SVN

- SVN服務器管理復雜。
- SVN不能支持代碼重構,當移動文件夾時會出錯。
- SVN不能支持離線操作。當在保密環境下或者在家里,不能同步代碼。
- SVN在網絡故障的情況下產生悲劇。
- SVN速度超慢。提交、更新、瀏覽歷史的速度都很慢。
- SVN強迫使用者即時處理沖突,然后才能提交。導致代碼不能即時提交。
- SVN不能恢復到歷史版本。SVN記錄了單個文件的歷史版本,但沒有記錄全局版本,不能恢復到上次的狀態。
- SVN經常莫名奇妙的不能提交。
- SVN不知道為什么老需要手動clearnup。
- SVN自建分支后無法進行合并。
- SVN不能主動推送改變。

為什么不是Git

Git沒有好的圖像客戶端。我們使用代理服務器上網,我在Git上從來沒有成功配置過代理服務器(估計是因為我們的用戶名中有個@的原因)。更重要是Git比Hg的學習曲線更陡峭。

什么是分布式版本控制

分布式版本控制(DVCS)是一種不需要中心服務器的管理文件版本的方法。它比集中的版本控制更靈活,支持各種工作流;它比集中式服務器快得多,因為大多數操作在客戶機本地進行,而不需要網絡操作。


Mercurial的基本概念

由于Mercurial是分布式的,所以每個庫都是原始庫的完整拷貝,每個庫都既是客戶端也是服務端。

clone:復制一份原始庫的完整副本。
commit:提交當前改變到本地庫。
changeSet:每一次提交都會生成一個改變集。
update:將當前工作文件還原到給定提交點。
push:將當前改變集推送到別的庫。
pull:將別的庫的改變集拉回。

push和pull組成一組同步操作,用于兩個庫之間交互數據。
commit和update組成對當前工作文件的操作,都是在本地完成,不需要網絡。

TortoiseHg使用入門

分布式版本控制系統 Mercurial與TortoiseHg
克隆庫

分布式版本控制系統 Mercurial與TortoiseHg
提交改變

分布式版本控制系統 Mercurial與TortoiseHg
更新到指定改變集

分布式版本控制系統 Mercurial與TortoiseHg
與遠程庫同步
 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!