分布式版本控制系統 Mercurial與TortoiseHg
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使用入門

克隆庫

提交改變

更新到指定改變集

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