Mercurial - Spectre

最近更新: 6.43b

基本操作

以下使用大多基于命令行形式,版本是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),tag存放在.hgtags文件中,這個(gè)文件也需要版本化

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è)葉子, branch heads指那些給了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 http://localhost/hellohg 來(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)入changeset2100433B

Mercurial造價(jià)信息

市場(chǎng)價(jià) 信息價(jià) 詢(xún)價(jià)
材料名稱(chēng) 規(guī)格/型號(hào) 市場(chǎng)價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
暫無(wú)數(shù)據(jù)
材料名稱(chēng) 規(guī)格/型號(hào) 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時(shí)間
暫無(wú)數(shù)據(jù)
材料名稱(chēng) 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時(shí)間
暫無(wú)數(shù)據(jù)

Mercurial特點(diǎn)

相對(duì)于傳統(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í)同步。

Mercurial元素

Revision

在使用 Mercurial 的系統(tǒng)中每個(gè)改動(dòng)隔離在各自的 repository 里,既避免把不相關(guān)的代碼混雜起來(lái), 又便于一個(gè)接一個(gè)的測(cè)試每一部分工作,用戶(hù)做的每個(gè)改動(dòng)稱(chēng)為一個(gè) revision。一般會(huì)有一個(gè)所有用戶(hù)都可以訪問(wèn)得到的 repository 保存了項(xiàng)目的“主要”版本,工作repository 是用戶(hù)自己做事情的地方,實(shí)現(xiàn)新的特性,修改漏洞,重構(gòu),實(shí)驗(yàn)等,當(dāng)完成改變后,你可以 push 到共用的 repositor y中,即完成了一個(gè) revision。

Changeset

一個(gè)或多個(gè)文件的改變集合在一起形成一個(gè)邏輯單元,稱(chēng)為 changeset。每一個(gè) changeset由兩部分內(nèi)容描述,版本號(hào)和 changeset 標(biāo)識(shí),例如:changeset: 207:58e4906e69e3

冒號(hào)前面的數(shù)字代表版本號(hào),它用來(lái)標(biāo)識(shí)本地 changeset。這個(gè)版本號(hào)只有在用戶(hù)的本地repository 中才有意義。冒號(hào)后面的那個(gè)很長(zhǎng)的十六進(jìn)制串是 changeset標(biāo)識(shí), 它是確定changeset的全局唯一標(biāo)識(shí)符, 在所有包含這個(gè) changese 的 repository 中都相同。多個(gè)用戶(hù)之間討論changeset,一般使用這個(gè) changeset 標(biāo)識(shí),而不是上面說(shuō)的版本號(hào),因?yàn)橥耆锌赡苊總€(gè)用戶(hù)的 repository 中同樣的 changeset 版本號(hào)不同。

Head

Head 表示 repository 中每個(gè)分支最新的 revision,通常在合并幾個(gè)分支時(shí)會(huì)用到這個(gè)概念。

Tip

Tip 是最新的一個(gè) changeset 的版本號(hào)的一個(gè)別名。在命令中任何使用版本號(hào)的地方都可以使用 tip 來(lái)代替最新的 changeset的版本號(hào)。Tip在各個(gè)repository中是不同的,同時(shí)一個(gè)repository 中只有一個(gè) tip。

Log

Log 命令按時(shí)間順序從近到遠(yuǎn)的記錄著在 repository 中發(fā)生的每一次事件??梢酝ㄟ^(guò)指定-v診斷輸出選項(xiàng)來(lái)獲得更多更詳細(xì)的歷史信息,或者指定—debug選項(xiàng)來(lái)獲得歷史信息中的一切細(xì)節(jié)。

Mercurial操作

Mercurial通過(guò)hg命令加上關(guān)鍵字來(lái)進(jìn)行操作,可以遠(yuǎn)程同步、上傳代碼。

用法

拷貝(同步)源碼并提交修改:

$ hg clone repository (這里repository是源碼的地址)

$ cd hello

$ (edit files)

$ hg add (new files)

$ hg commit -m 'My changes'

$ hg push

創(chuàng)建新的hg項(xiàng)目,并提交:

$ hg init (project-directory)

$ cd (project-directory)

$ (add some files)

$ hg add

$ hg commit -m 'Initial commit'

MercurialSpectre常見(jiàn)問(wèn)題

  • spect什么意思?

    單光子發(fā)射計(jì)算機(jī)斷層成像術(shù)(Single-Photon Emission Computed Tomography,SPECT)和正電子發(fā)射斷層成像術(shù)(Positron Emission Tomogra...

  • spectacle spectacles 意思分別是什么

    spectacle [簡(jiǎn)明英漢詞典] [5spektEkl] n.觀覽物, 展覽物, 公開(kāi)展示, 奇觀, 景象, 光景, (a pair of ~s)眼鏡 spectacles [簡(jiǎn)明英漢詞典] n....

  • 有誰(shuí)知lgspectrum2有啥優(yōu)缺點(diǎn)

    針對(duì)女性人群有豐富的拍照功能:1 : 水印相機(jī) 提供豐富的水印模板,并可將當(dāng)時(shí)的心情、位置、時(shí)間等信息與美麗的照片一起定格,留下那一瞬間的美。2 : 自動(dòng)語(yǔ)音拍照 ,徹底告別手動(dòng)模式,再也不用擔(dān)心用手...

MercurialSpectre文獻(xiàn)

QualityInspection質(zhì)量檢驗(yàn)概述 QualityInspection質(zhì)量檢驗(yàn)概述

格式:pdf

大小:3.6MB

頁(yè)數(shù): 29頁(yè)

評(píng)分: 4.5

QualityInspection質(zhì)量檢驗(yàn)概述

立即下載
潔面恒麗板SPECTRUM 潔面恒麗板SPECTRUM

格式:pdf

大?。?span id="9t2h1r4" class="single-tag-height">3.6MB

頁(yè)數(shù): 3頁(yè)

評(píng)分: 4.7

Clean COLORBOND? steel SPECTRUM Series( 潔面恒麗 ?板 Spectrum) 概述 Clean COLORBOND? steel SPECTRUM Series( 潔面恒麗 ? 板 Spectrum) 由博思格鋼鐵 研發(fā),采用特殊納米強(qiáng)化聚酯涂覆系統(tǒng),獨(dú)特的珠光效果,具有極佳的顏色和光澤保持力,使 您的建筑物彰顯不同品位。 抗灰塵粘附性能 Clean COLORBOND? steel SPECTRUM Series( 潔面恒麗 ? 板 Spectrum) 具有抗灰塵粘 附的性能,更能有效防止灰塵粘附造成的建筑物外觀污垢。能在各種環(huán)境下防止灰塵粘附,特 別適合灰塵漂浮較高的亞洲環(huán)境。革新的涂覆系統(tǒng)能有效防止細(xì)小的灰塵顆粒吸附在彩涂板表 面。灰塵顆粒以松散的狀態(tài)逗留在彩涂板表面時(shí),極易被雨水沖走,由此防止了灰塵粘附造成 的建筑物外觀污垢,

立即下載
Mercurial相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識(shí)
  • 相關(guān)專(zhuān)欄

最新詞條

安徽省政采項(xiàng)目管理咨詢(xún)有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時(shí)籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無(wú)線POS機(jī) 廣東合正采購(gòu)招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國(guó)際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽(yáng)招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國(guó)際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢(xún)有限公司 泛海三江 威海鼠尾草 廣東國(guó)咨招標(biāo)有限公司 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 甘肅中泰博瑞工程項(xiàng)目管理咨詢(xún)有限公司 拆邊機(jī) 山東創(chuàng)盈項(xiàng)目管理有限公司 當(dāng)代建筑大師 廣西北纜電纜有限公司 大山檳榔 上海地鐵維護(hù)保障有限公司通號(hào)分公司 舌花雛菊 甘肅中維國(guó)際招標(biāo)有限公司 華潤(rùn)燃?xì)猓ㄉ虾#┯邢薰? 湖北鑫宇陽(yáng)光工程咨詢(xún)有限公司 GB8163標(biāo)準(zhǔn)無(wú)縫鋼管 中國(guó)石油煉化工程建設(shè)項(xiàng)目部 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 電梯平層準(zhǔn)確度 建設(shè)部關(guān)于開(kāi)展城市規(guī)劃動(dòng)態(tài)監(jiān)測(cè)工作的通知 廣州利好來(lái)電氣有限公司 蘇州弘創(chuàng)招投標(biāo)代理有限公司