綠軟家園:打造綠色軟件,免費軟件下載基地!
所在位置:下載首頁應用軟件編程軟件Mercurial(分布式版本控制系統) v5.9.2

Mercurial(分布式版本控制系統) v5.9.2

  • 運行平臺:Win
  • 相關鏈接:
  • 軟件語言:英文
  • 軟件星級:
  • 軟件大小:28.93 MB
  • 軟件分類:應用軟件/編程軟件
  • 性質類型:國外軟件 免費版
  • 更新時間:2021-10-13

  Mercurial(分布式版本控制系統)是一種輕量級分布式版本控制系統,采用 Python 語言實現,便于學習和操作,有非常強大的擴展性。軟件有著友好的界面,操作非常簡單,設計的非常人性化。

Mercurial(分布式版本控制系統)
  基本簡介

  mercurial是款輕量級的分布式版本控制系統,mercurial官方版(分布式版本控制系統)采用python語言開發,便于學習和操作,有非常強大的擴展性,其是基于 GNU General Public License (GPL) 授權的開源項目。該款軟件有著友好的界面,操作非常簡單,設計的非常人性化,與傳統的集中式版本控制系統相比,它的優點是更加方便你的管理和使用。

  軟件特色

  更輕松的管理

  傳統的版本控制系統使用集中式的 repository,一些和 repository相關的管理就只能由管理員一個人進行。由于采用了分布式的模型,Mercurial 中就沒有這樣的困擾,每個用戶管理自己的 repository,管理員只需協調同步這些repository。

  更健壯的系統

  分布式系統比集中式的單服務器系統更健壯,單服務器系統一旦服務器出現問題整個系統就不能運行了,分布式系統通常不會因為一兩個節點而受到影響。

  對網絡的依賴性更低

  由于同步可以放在任意時刻進行,Mercurial 甚至可以離線進行管理,只需在有網絡連接時同步。

  使用方法

  以下使用大多基于命令行形式,版本是1.2.11

  因為本地即是版本庫的服務端也是版本庫的客戶端,所以首先得區分好版本庫和工作目錄兩個概念,版本庫存放了所有的版本,工作目錄只是某個特定的版本,這個概念同svn是一致的,只是svn的版本庫不在本地,而在集中的一臺服務器上。

  hg init 創建新倉庫,版本庫的文件放在一個.hg的文件夾下面

  hg add 添加未版本化的文件

  hg commit 提交修改,使用-m 填寫comments,同svn是一樣的

  hg tip 查看當前版本庫的最新版本,注意:不是當前工作目錄的最新版本。tip是版本庫最新版本的意思

  hg parents查看當前工作目錄的最新版本,如果這個版本有多個parent,會顯示出來,如果沒有則不顯示。parent是指某個版本的前一個版本,如果某個版本通過兩個版本merge而來,則會出現多個parents。mercurial還不支持超過兩個的parents,也就是說只能將版本兩個兩個的合并,合并3個版本需要操作2次,合并4個版本需要操作3次,依次類推,如果碰到8個版本需要合并,則需要合并7次...

  hg clone 克隆一個版本庫到本地,當項目開始的時候,建議在一臺電腦上init項目后,然后大家從他那clone出來,而不是各自init。

  hg pull 從另一個版本庫更新版本到本地

  hg push 將本地版本庫更新到其他版本庫中,其他版本庫需要開通ssh服務,Windows下需要cygwin來啟動ssh,linux下用openssh實現。Windows客戶端連接ssh服務器時,需要在mercurial.ini的ui段配置,如下

  [ui]

  ssh = "C:\Program Files\TortoiseHg\TortoisePlink.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 更新工作目錄,默認參數是tip,參數也可以是版本號、tag名字、branch名字。svn中的切換branch/tag通過這個命令來實現

  hg tag 制定一個永久的版本號

  hg branch 顯示當前branch,或者新建一個branch,默認的branch名字是default。

  hg diff 對比版本間的差異

  hg merge 合并版本到當前工作目錄,hg pull之后會提示hg update,hg update之后如果提示hg merge,這時候的merge是在最新版本的基礎上進行的merge,merge之后所作的修改需要通過commit來生成新的版本號。

  合并branch : hg merge branchname ,先確認hg branch是什么再執行這個命令。

  當一個branch的歷史使命完成的時候,這時候需要決定是基于這個branch新開一個branch,還是在某個之前的版本開立branch. default是一個沒有創立任何branch時的默認branch名字。

  如果希望繼續工作在default branch下,則需要先hg update default,然后再考慮需要合并哪些版本到default里面,之后就可以在default下一直工作了。

  對于開了多個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 right,分別對應以上三個文件的內容。還有其他幾個選項也很容易明白。有沖突時還可能需要手工輸入內容。

  另外,如果我們沒有安裝圖形合并程序, 我們就會開啟文本編輯器來訪問需要合并的文件。用手工來做這些事情是非常容易出錯并且繁瑣的。 最好是退出編輯器并用hg rollback指令來清除["Pull"]帶來的改變,然后安裝合并程序,再做一次。

  hg headshead指的是沒有兒子chaneset的changeset,也就是版本樹的葉子節點,多個葉子節點可以進行合并為一個葉子, branchheads指那些給了tag但還沒有兒子changeset的changeset。 用hg heads顯示當前庫所有的heads ,如果存在多個heads則說明有多條并行開發的路徑,這時需要考慮是否需要合并。

  hg serve -n "hellohg" -p 80 運行網絡服務。之后可以通過hg pull 來下載這個版本庫。這是一個臨時性的便捷的提供pull版本庫服務的方法

  hg export 導出changeset,默認導出tip,需要用重定向來導出到文件中,之后這個文件可以通過郵件附件發出,這樣可以實現無網絡連接狀態下的版本同步

  hg import 導入changeset

軟件截圖

相關專題

軟件項目管理

軟件項目管理

軟件項目管理 綠軟家園為您提供新好的軟件項目管理,軟件項目管理下載,軟件項目管理大全,更多日常實用軟件盡在綠軟家園下載站。

注意事項

本站所有資源(含游戲)均是軟件作者、開發商投稿,任何涉及商業盈利目的均不得使用,否則產生的一切后果將由您自己承擔!本站將不對任何資源負法律責任,所有資源請在下載后24小時內刪除。

高额现金桌直播视频