文件大小:
軟件介紹
軟件介紹
Mercurial是一種輕量級(jí)分布式版本控制系統(tǒng),采用 Python 語(yǔ)言實(shí)現(xiàn),,有非常強(qiáng)大的擴(kuò)展性。易于學(xué)習(xí)和使用,操作非常簡(jiǎn)單,mercurial和git都可以啟動(dòng)一個(gè)daemon server進(jìn)行使用,mercurial啟動(dòng)的port是8000,其實(shí)是使用http協(xié)議的.
基本簡(jiǎn)介
mercurial是款輕量級(jí)的分布式版本控制系統(tǒng),mercurial官方版(分布式版本控制系統(tǒng))采用python語(yǔ)言開(kāi)發(fā),便于學(xué)習(xí)和操作,有非常強(qiáng)大的擴(kuò)展性,其是基于 GNU General Public License (GPL) 授權(quán)的開(kāi)源項(xiàng)目。該款軟件有著友好的界面,操作非常簡(jiǎn)單,設(shè)計(jì)的非常人性化,與傳統(tǒng)的集中式版本控制系統(tǒng)相比,它的優(yōu)點(diǎn)是更加方便你的管理和使用。
軟件特色
更輕松的管理
傳統(tǒng)的版本控制系統(tǒng)使用集中式的 repository,一些和 repository相關(guān)的管理就只能由管理員一個(gè)人進(jìn)行。由于采用了分布式的模型,Mercurial 中就沒(méi)有這樣的困擾,每個(gè)用戶(hù)管理自己的 repository,管理員只需協(xié)調(diào)同步這些repository。
更健壯的系統(tǒng)
分布式系統(tǒng)比集中式的單服務(wù)器系統(tǒng)更健壯,單服務(wù)器系統(tǒng)一旦服務(wù)器出現(xiàn)問(wèn)題整個(gè)系統(tǒng)就不能運(yùn)行了,分布式系統(tǒng)通常不會(huì)因?yàn)橐粌蓚€(gè)節(jié)點(diǎn)而受到影響。
對(duì)網(wǎng)絡(luò)的依賴(lài)性更低
由于同步可以放在任意時(shí)刻進(jìn)行,Mercurial 甚至可以離線進(jìn)行管理,只需在有網(wǎng)絡(luò)連接時(shí)同步。
使用方法
以下使用大多基于命令行形式,版本是1.2.11
因?yàn)楸镜丶词前姹編?kù)的服務(wù)端也是版本庫(kù)的客戶(hù)端,所以首先得區(qū)分好版本庫(kù)和工作目錄兩個(gè)概念,版本庫(kù)存放了所有的版本,工作目錄只是某個(gè)特定的版本,這個(gè)概念同svn是一致的,只是svn的版本庫(kù)不在本地,而在集中的一臺(tái)服務(wù)器上。
hg init 創(chuàng)建新倉(cāng)庫(kù),版本庫(kù)的文件放在一個(gè).hg的文件夾下面
hg add 添加未版本化的文件
hg commit 提交修改,使用-m 填寫(xiě)comments,同svn是一樣的
hg tip 查看當(dāng)前版本庫(kù)的最新版本,注意:不是當(dāng)前工作目錄的最新版本。tip是版本庫(kù)最新版本的意思
hg parents查看當(dāng)前工作目錄的最新版本,如果這個(gè)版本有多個(gè)parent,會(huì)顯示出來(lái),如果沒(méi)有則不顯示。parent是指某個(gè)版本的前一個(gè)版本,如果某個(gè)版本通過(guò)兩個(gè)版本merge而來(lái),則會(huì)出現(xiàn)多個(gè)parents。mercurial還不支持超過(guò)兩個(gè)的parents,也就是說(shuō)只能將版本兩個(gè)兩個(gè)的合并,合并3個(gè)版本需要操作2次,合并4個(gè)版本需要操作3次,依次類(lèi)推,如果碰到8個(gè)版本需要合并,則需要合并7次...
hg clone 克隆一個(gè)版本庫(kù)到本地,當(dāng)項(xiàng)目開(kāi)始的時(shí)候,建議在一臺(tái)電腦上init項(xiàng)目后,然后大家從他那clone出來(lái),而不是各自init。
hg pull 從另一個(gè)版本庫(kù)更新版本到本地
hg push 將本地版本庫(kù)更新到其他版本庫(kù)中,其他版本庫(kù)需要開(kāi)通ssh服務(wù),Windows下需要cygwin來(lái)啟動(dòng)ssh,linux下用openssh實(shí)現(xiàn)。Windows客戶(hù)端連接ssh服務(wù)器時(shí),需要在mercurial.ini的ui段配置,如下
[ui]
ssh = "C:\Program Files\TortoiseHg\TortoisePlink.exe"
putty.exe 無(wú)法配合hg使用。
TortoisePlink.exe對(duì)于 ssh://xx/ 之后的路徑需要再加一個(gè)"/" 以示根路徑,如下:
ssh://192.168.107.129//home/arthur/hg/hello
hg incoming 將本地版本庫(kù)同其他版本庫(kù)進(jìn)行比較,看看有哪些changeset在其他版本庫(kù)中可以pull過(guò)來(lái)
hg outgoing 將本地版本庫(kù)同其他版本庫(kù)進(jìn)行比較,看看有哪些changeset可以push到其他版本庫(kù)中
hg update 更新工作目錄,默認(rèn)參數(shù)是tip,參數(shù)也可以是版本號(hào)、tag名字、branch名字。svn中的切換branch/tag通過(guò)這個(gè)命令來(lái)實(shí)現(xiàn)
hg tag 制定一個(gè)永久的版本號(hào)
hg branch 顯示當(dāng)前branch,或者新建一個(gè)branch,默認(rèn)的branch名字是default。
hg diff 對(duì)比版本間的差異
hg merge 合并版本到當(dāng)前工作目錄,hg pull之后會(huì)提示hg update,hg update之后如果提示hg merge,這時(shí)候的merge是在最新版本的基礎(chǔ)上進(jìn)行的merge,merge之后所作的修改需要通過(guò)commit來(lái)生成新的版本號(hào)。
合并branch : hg merge branchname ,先確認(rèn)hg branch是什么再執(zhí)行這個(gè)命令。
當(dāng)一個(gè)branch的歷史使命完成的時(shí)候,這時(shí)候需要決定是基于這個(gè)branch新開(kāi)一個(gè)branch,還是在某個(gè)之前的版本開(kāi)立branch. default是一個(gè)沒(méi)有創(chuàng)立任何branch時(shí)的默認(rèn)branch名字。
如果希望繼續(xù)工作在default branch下,則需要先hg update default,然后再考慮需要合并哪些版本到default里面,之后就可以在default下一直工作了。
對(duì)于開(kāi)了多個(gè)branch需要合并到default時(shí),需要一個(gè)個(gè)branch來(lái)合并,諸如這樣:
hg merge foo
hg merge bar
hg ci -m "merge foo and bar to default
在windows下,如果安裝了beyond compare,會(huì)自動(dòng)被調(diào)用出來(lái)。
顯示三個(gè)窗口:本地文件、基文件((在分支分開(kāi)前的最后一個(gè)版本))、其他文件(外來(lái)的文件)。這種合并模式同svn是一樣的。
merge做完之后,需要hg ci提交修改,這時(shí)可以看到tip 信息中的parent有兩個(gè),表明是從兩個(gè)版本中merge過(guò)來(lái)的。
beyond compare對(duì)于沖突有三個(gè)基本選項(xiàng):Take left, take center, take right,分別對(duì)應(yīng)以上三個(gè)文件的內(nèi)容。還有其他幾個(gè)選項(xiàng)也很容易明白。有沖突時(shí)還可能需要手工輸入內(nèi)容。
另外,如果我們沒(méi)有安裝圖形合并程序, 我們就會(huì)開(kāi)啟文本編輯器來(lái)訪問(wèn)需要合并的文件。用手工來(lái)做這些事情是非常容易出錯(cuò)并且繁瑣的。 最好是退出編輯器并用hg rollback指令來(lái)清除["Pull"]帶來(lái)的改變,然后安裝合并程序,再做一次。
hg headshead指的是沒(méi)有兒子chaneset的changeset,也就是版本樹(shù)的葉子節(jié)點(diǎn),多個(gè)葉子節(jié)點(diǎn)可以進(jìn)行合并為一個(gè)葉子, branchheads指那些給了tag但還沒(méi)有兒子changeset的changeset。 用hg heads顯示當(dāng)前庫(kù)所有的heads ,如果存在多個(gè)heads則說(shuō)明有多條并行開(kāi)發(fā)的路徑,這時(shí)需要考慮是否需要合并。
hg serve -n "hellohg" -p 80 運(yùn)行網(wǎng)絡(luò)服務(wù)。之后可以通過(guò)hg pull 來(lái)下載這個(gè)版本庫(kù)。這是一個(gè)臨時(shí)性的便捷的提供pull版本庫(kù)服務(wù)的方法
hg export 導(dǎo)出changeset,默認(rèn)導(dǎo)出tip,需要用重定向來(lái)導(dǎo)出到文件中,之后這個(gè)文件可以通過(guò)郵件附件發(fā)出,這樣可以實(shí)現(xiàn)無(wú)網(wǎng)絡(luò)連接狀態(tài)下的版本同步
hg import 導(dǎo)入changeset
優(yōu)點(diǎn):
更輕松的管理。
傳統(tǒng)的版本控制系統(tǒng)使用集中式的 repository,一些和 repository相關(guān)的管理就只能由管理員一個(gè)人進(jìn)行。由于采用了分布式的模型,Mercurial 中就沒(méi)有這樣的困擾,每個(gè)用戶(hù)管理自己的 repository,管理員只需協(xié)調(diào)同步這些repository。
更健壯的系統(tǒng)。
分布式系統(tǒng)比集中式的單服務(wù)器系統(tǒng)更健壯,單服務(wù)器系統(tǒng)一旦服務(wù)器出現(xiàn)問(wèn)題整個(gè)系統(tǒng)就不能運(yùn)行了,分布式系統(tǒng)通常不會(huì)因?yàn)橐粌蓚€(gè)節(jié)點(diǎn)而受到影響。
對(duì)網(wǎng)絡(luò)的依賴(lài)性更低。
由于同步可以放在任意時(shí)刻進(jìn)行,Mercurial 甚至可以離線進(jìn)行管理,只需在有網(wǎng)絡(luò)連接時(shí)同步。
軟件標(biāo)簽: 分布式
軟件截圖
版權(quán)聲明:
1 本站所有資源(含游戲)均是軟件作者、開(kāi)發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!
2 本站將不對(duì)任何資源負(fù)法律責(zé)任,所有資源請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。
3 若有關(guān)在線投稿、無(wú)法下載等問(wèn)題,請(qǐng)與本站客服人員聯(lián)系。
4 如侵犯了您的版權(quán)、商標(biāo)等,請(qǐng)立刻聯(lián)系我們并具體說(shuō)明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784
- 磁力兔子BT兔子 官方版
- mtool修改器 V2023.11 官方最新版 / mtool
- 千億體育手機(jī)版本v2.0.1 安卓版
- Sandboxie Plus v1.9.8 / v5.64.8 開(kāi)源電腦
- 次元的世界官方正式版 v1.65
- tplink物聯(lián)電腦版(原tplink安防) v2.12.17.
- Jvider 1.7 官方正式版
- 社工庫(kù)查詢(xún)工具社工庫(kù)查詢(xún)工具v3.3 免費(fèi)版
- 奧維互動(dòng)地圖破解版永久vip2024 V9.9.1 永
- 百度網(wǎng)盤(pán)破解版不限速電腦版2023 V7.23.0.1
- Adobe RoboHelp 2022免費(fèi)版64位電腦版
- 分布式版本管理系統(tǒng)(Mercurial)v6.2.2 官方
- Visual Studio Code 64位版v1.72.0 中文版
- ScriptCryptor Compiler中文綠色漢化版v4.0
- Digao Desk64位中文版v1.4.3免費(fèi)版
- Highlight軟件32位/64位綠色中文版V4.3最新
- Visual Studio Code Linux中文版v1.72.2官
- PostgreSQL64位中文免費(fèi)版v15.0.1官方版
- SmartGit軟件中文版v23.1.3安裝版
- XAMPP Control Panel64位中文漢化版PCv8.1.
點(diǎn)擊加載更多評(píng)論>>