| 為您推薦:設計
軟件介紹Mercurial,一般又稱分布式版本控制系統。 Mercurial(分布式版本控制系統)是一種輕量級分布式版本控制系統,采用 Python
基本簡介 mercurial是款輕量級的分布式版本控制系統,mercurial官方版(分布式版本控制系統)采用python語言開發,便于學習和操作,有非常強大的擴展性,其是基于 相。 軟件特色 更輕松的管理 傳統的版本控制系統使用集中式的 repository,一些和 更健壯的系統 分布式系統比集中式的單服務器系統更健壯,單服務器系統一旦服務器出現問題整個系統就不能運行了,分布式系統通常不會因為一兩個節點而受到影響。 對網絡的依賴性更低 由于同步可以放在任意時刻進行,Mercurial 甚至可以離線進行管理,只需在有網絡連接時同步。 使用方法 以下使用大多基于命令行形式,版本是1.2.11 因為本地即是版本庫的服務端也是版本庫的客戶端,所以首先得區分好版本庫和工作目錄兩個概念,版本庫存放了所有的版本,工作目錄只是某個特定的版本,這個概念同svn是一致的,只是svn的版本庫不在本地,而在集中的一臺服務器上。 hg init 創建新倉庫,版本庫的文件放在一個.hg的文件夾下面 hg add 添加未版本化的文件 hg commit 提交修改,使用-m 填寫comments,同svn是一樣的 hg tip 查看當前版本庫的最新版本,注意:不是當前工作目錄的最新版本。tip是版本庫最新版本的意思 hg hg clone 克隆一個版本庫到本地,當項目開始的時候,建議在一臺電腦上init項目后,然后大家從他那clone出來,而不是各自init。 hg pull 從另一個版本庫更新版本到本地 hg push [ui] ssh = "C:Program FilesTortoiseHgTortoisePlink.exe" putty.exe 無法配合hg使用。 TortoisePlink.exe對于 ssh://xx/ 之后的路徑需要再加一個"/" 以示根路徑,如下: ssh://192.168.107.129//home/arthur/hg/hello hg incoming 將本地版本庫同其他版本庫進行比較,看看有哪些changeset在其他版本庫中可以pull過來 hg outgoing 將本地版本庫同其他版本庫進行比較,看看有哪些changeset可以push到其他版本庫中 hg update hg tag 制定一個永久的版本號 hg branch 顯示當前branch,或者新建一個branch,默認的branch名字是default。 hg diff 對比版本間的差異 hg merge 合并版本到當前工作目錄,hg pull之后會提示hg update,hg update之后如果提示hg 合并branch : hg merge branchname ,先確認hg branch是什么再執行這個命令。 當一個branch的歷史使命完成的時候,這時候需要決定是基于這個branch新開一個branch,還是在某個之前的版本開立branch. 如果希望繼續工作在default branch下,則需要先hg update 對于開了多個branch需要合并到default時,需要一個個branch來合并,諸如這樣: hg merge foo hg merge bar hg ci -m "merge foo and bar to default " 在windows下,如果安裝了beyond compare,會自動被調用出來。 顯示三個窗口:本地文件、基文件((在分支分開前的最后一個版本))、其他文件(外來的文件)。這種合并模式同svn是一樣的。 merge做完之后,需要hg ci提交修改,這時可以看到tip 信息中的parent有兩個,表明是從兩個版本中merge過來的。 beyond compare對于沖突有三個基本選項:Take left, take center, take 另外,如果我們沒有安裝圖形合并程序, 我們就會開啟文本編輯器來訪問需要合并的文件。用手工來做這些事情是非常容易出錯并且繁瑣的。 hg headshead指的是沒有兒子chaneset的changeset,也就是版本樹的葉子節點,多個葉子節點可以進行合并為一個葉子, hg serve -n "hellohg" -p 80 運行網絡服務。之后可以通過hg pull hg export hg import 導入changeset |