Mercurial特點

相對于傳統(tǒng)的版本控制,具有如下優(yōu)點:

更輕松的管理。傳統(tǒng)的版本控制系統(tǒng)使用集中式的 repository,一些和 repository相關(guān)的管理就只能由管理員一個人進行。由于采用了分布式的模型,Mercurial 中就沒有這樣的困擾,每個用戶管理自己的 repository,管理員只需協(xié)調(diào)同步這些repository。 更健壯的系統(tǒng)。分布式系統(tǒng)比集中式的單服務(wù)器系統(tǒng)更健壯,單服務(wù)器系統(tǒng)一旦服務(wù)器出現(xiàn)問題整個系統(tǒng)就不能運行了,分布式系統(tǒng)通常不會因為一兩個節(jié)點而受到影響。 對網(wǎng)絡(luò)的依賴性更低。由于同步可以放在任意時刻進行,Mercurial 甚至可以離線進行管理,只需在有網(wǎng)絡(luò)連接時同步。

Mercurial元素

Revision

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

Changeset

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

冒號前面的數(shù)字代表版本號,它用來標(biāo)識本地 changeset。這個版本號只有在用戶的本地repository 中才有意義。冒號后面的那個很長的十六進制串是 changeset標(biāo)識, 它是確定changeset的全局唯一標(biāo)識符, 在所有包含這個 changese 的 repository 中都相同。多個用戶之間討論changeset,一般使用這個 changeset 標(biāo)識,而不是上面說的版本號,因為完全有可能每個用戶的 repository 中同樣的 changeset 版本號不同。

Head

Head 表示 repository 中每個分支最新的 revision,通常在合并幾個分支時會用到這個概念。

Tip

Tip 是最新的一個 changeset 的版本號的一個別名。在命令中任何使用版本號的地方都可以使用 tip 來代替最新的 changeset的版本號。Tip在各個repository中是不同的,同時一個repository 中只有一個 tip。

Log

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

Mercurial操作

Mercurial通過hg命令加上關(guā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項目,并提交:

$ hg init (project-directory)

$ cd (project-directory)

$ (add some files)

$ hg add

$ hg commit -m 'Initial commit'

Mercurial造價信息

市場價 信息價 詢價
材料名稱 規(guī)格/型號 市場價
(除稅)
工程建議價
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報價日期
智能LED燈控制系統(tǒng) 服務(wù)智能系統(tǒng)軟件安裝、調(diào)試工作組級服務(wù)器 查看價格 查看價格

梵朗

13% 深圳市梵朗照明科技有限公司江門辦事處
控制系統(tǒng) 品種:控制系統(tǒng); 查看價格 查看價格

勇創(chuàng)

13% 佛山市勇創(chuàng)門業(yè)科技有限公司
控制系統(tǒng) 控制系統(tǒng) 查看價格 查看價格

13% 重慶漢沙科技有限公司
控制系統(tǒng) CA-TP1350 查看價格 查看價格

13% 深圳市車安科技發(fā)展有限公司廣州分公司
控制系統(tǒng) JFLNKW-8099/停車場專業(yè)電源,防雷擊,防潮濕 查看價格 查看價格

13% 成都新捷帆科技有限公司
控制系統(tǒng) JDC-BX9 查看價格 查看價格

13% 深圳市九鼎智能技術(shù)有限公司
控制系統(tǒng) CA-TP0112 查看價格 查看價格

車安

13% 湖北車安智能科技有限公司
控制系統(tǒng) 規(guī)格型號:FLP-Y420;電壓:AC220V; 查看價格 查看價格

飛利浦

13% 天津金泰恒國際貿(mào)易有限公司
材料名稱 規(guī)格/型號 除稅
信息價
含稅
信息價
行情 品牌 單位 稅率 地區(qū)/時間
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2022年1季度信息價
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2021年4季度信息價
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2021年3季度信息價
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2021年2季度信息價
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2020年3季度信息價
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2019年4季度信息價
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2022年2季度信息價
微電網(wǎng)系統(tǒng) 查看價格 查看價格

廣東2020年2季度信息價
材料名稱 規(guī)格/需求量 報價數(shù) 最新報價
(元)
供應(yīng)商 報價地區(qū) 最新報價時間
會議控制系統(tǒng) 會議控制系統(tǒng)|1套 3 查看價格 深圳金華億網(wǎng)絡(luò)工程有限公司 廣東  陽江市 2017-12-05
AGV控制系統(tǒng) AGV控制系統(tǒng)|1套 1 查看價格 珠海創(chuàng)智科技有限公司 全國   2021-02-20
會議控制系統(tǒng) 會議控制系統(tǒng)|1套 3 查看價格 華平信息技術(shù)股份有限公司 廣東  陽江市 2018-05-16
DMX控制系統(tǒng) DMX控制系統(tǒng)|500套 1 查看價格 廣州市雷雄照明器材有限公司 廣東  廣州市 2021-07-30
會議控制系統(tǒng) 會議控制系統(tǒng)|1套 3 查看價格 華平信息技術(shù)股份有限公司 廣東  陽江市 2017-12-26
控制系統(tǒng) 含播放控制系統(tǒng)|1套 1 查看價格 深圳市麗晶源光電科技有限公司 廣東   2018-01-17
控制系統(tǒng) 含播放控制系統(tǒng)|1套 1 查看價格 深圳市麗晶源光電科技有限公司 廣東   2018-01-17
控制系統(tǒng) 含播放控制系統(tǒng)|1套 1 查看價格 深圳市麗晶源光電科技有限公司 廣東   2018-01-17

Mercurial - Spectre

最近更新: 6.43b

基本操作

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

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

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

hg add添加未版本化的文件

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

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

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

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

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

hg push將本地版本庫更新到其他版本庫中,其他版本庫需要開通ssh服務(wù),Windows下需要cygwin來啟動ssh,linux下用openssh實現(xiàn)。Windows客戶端連接ssh服務(wù)器時,需要在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更新工作目錄,默認(rèn)參數(shù)是tip,參數(shù)也可以是版本號、tag名字、branch名字。svn中的切換branch/tag通過這個命令來實現(xiàn)

hg tag制定一個永久的版本號,tag存放在.hgtags文件中,這個文件也需要版本化

hg branch顯示當(dāng)前branch,或者新建一個branch,默認(rèn)的branch名字是default。

hg diff對比版本間的差異

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

合并branch : hg merge branchname ,先確認(rèn)hg branch是什么再執(zhí)行這個命令。

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

如果希望繼續(xù)工作在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,會自動被調(diào)用出來。

顯示三個窗口:本地文件、基文件((在分支分開前的最后一個版本))、其他文件(外來的文件)。這種合并模式同svn是一樣的。

merge做完之后,需要hg ci提交修改,這時可以看到tip 信息中的parent有兩個,表明是從兩個版本中merge過來的。

beyond compare對于沖突有三個基本選項:Take left, take center, take right,分別對應(yīng)以上三個文件的內(nèi)容。還有其他幾個選項也很容易明白。有沖突時還可能需要手工輸入內(nèi)容。

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

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

hg serve -n "hellohg" -p 80運行網(wǎng)絡(luò)服務(wù)。之后可以通過hg pull http://localhost/hellohg 來下載這個版本庫。這是一個臨時性的便捷的提供pull版本庫服務(wù)的方法

hg export導(dǎo)出changeset,默認(rèn)導(dǎo)出tip,需要用重定向來導(dǎo)出到文件中,之后這個文件可以通過郵件附件發(fā)出,這樣可以實現(xiàn)無網(wǎng)絡(luò)連接狀態(tài)下的版本同步

hg import導(dǎo)入changeset2100433B

Mercurial控制系統(tǒng)常見問題

  • 控制系統(tǒng)

    一般需單獨計算。垂直立線這一段一般是采用金屬軟管敷設(shè)的。

  • 什么是化工集散控制系統(tǒng)(DCS控制系統(tǒng))

    就是化工廠采用DCS控制系統(tǒng)來控制和監(jiān)視整個裝置的生產(chǎn)工藝參數(shù),可以節(jié)省人力,提高控制的質(zhì)量和安全系數(shù)。DCS,也稱集散控制系統(tǒng);是集中控制,分散危險的意思。整個控制系統(tǒng)將現(xiàn)場的儀表信號(溫度、壓力、...

  • 集散控制系統(tǒng)與分散控制系統(tǒng) 區(qū)別

    其實是一回事。英文原名:DCS-Distributed Control System,直譯的話即為分布式控制系統(tǒng)或分散控制系統(tǒng),只是其也有集中操作管理的功能,所以一般我們用的都是意譯:集散控制系統(tǒng)?,F(xiàn)...

Mercurial控制系統(tǒng)文獻

控制系統(tǒng)和控制過程 控制系統(tǒng)和控制過程

格式:pdf

大小:631KB

頁數(shù): 8頁

評分: 4.3

控制系統(tǒng)和控制過程

立即下載
泵站控制系統(tǒng) 泵站控制系統(tǒng)解決方案 泵站控制系統(tǒng) 泵站控制系統(tǒng)解決方案

格式:docx

大?。?span id="al5bbw4" class="single-tag-height">631KB

頁數(shù): 24頁

評分: 3.9

泵站控制系統(tǒng)適用于城市供水系統(tǒng)中加壓泵站的遠(yuǎn)程監(jiān)控及管理。

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

最新詞條

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