日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Mercurial(Hg)基本操作

發(fā)布時(shí)間:2023/12/10 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mercurial(Hg)基本操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Mercurial(Hg)基本操作

來(lái)源?https://www.cnblogs.com/gb2013/archive/2012/05/18/Mercurial_Basic.html

Mercurial簡(jiǎn)介

Mercurial是一款非常優(yōu)秀的分布式版本控制系統(tǒng)(DCVS),具有高效率、跨平臺(tái)、可擴(kuò)展、使用簡(jiǎn)便且開(kāi)源等優(yōu)點(diǎn),是目前最為流行的版本控制工具之一。Mercurial英文意為水銀,所以常被縮寫(xiě)為Hg。在使用Mercurial之前,我曾經(jīng)使用過(guò)VSS(已停止更新)和SVN,也嘗試過(guò)微軟的TFS,它們都不是分布式版本控制系統(tǒng),換句話說(shuō),就是當(dāng)源碼服務(wù)器故障或網(wǎng)絡(luò)不通時(shí),你將無(wú)法提交你所做的本地修改。這也是之前的版本控制工具與Mercurial最大的不同,目前與Mercurial類似的工具還有Git,但由于對(duì)Windows系統(tǒng)的支持做得不是很人性化,我個(gè)人不太喜歡。

最開(kāi)始接觸Mercurial時(shí),由于長(zhǎng)期使用SVN的緣故,已經(jīng)習(xí)慣了依賴中央源碼服務(wù)器,也曾感覺(jué)Mercurial的操作很別扭,不是很方便。但當(dāng)我在項(xiàng)目中使用了一段時(shí)間以后,就喜歡上這個(gè)它了。下面放出Mercurial相關(guān)的一些信息:

  • Mercurial官網(wǎng):http://mercurial.selenic.com/
  • Mercurial客戶端(TortoiseHg):http://tortoisehg.bitbucket.org/
  • 支持Visual Studio中使用Mercurial的插件VisualHg:http://visualhg.codeplex.com/,如果你使用的是Visual Studio 2010或更高版本,可以直接從擴(kuò)展管理器中獲取此插件。
  • Mercurial官方中文教程:http://mercurial.selenic.com/wiki/ChineseTutorial
  • 免費(fèi)的代碼托管服務(wù):https://bitbucket.org/,免費(fèi)帳戶可以管理5個(gè)用戶,可以托管公共和私有項(xiàng)目。
  • Mercurial安裝

    TortoiseHg本身集成了Mercurial的服務(wù)器功能,因此我們只需要獲取最新的TortoiseHg并安裝,即可在本地進(jìn)行文件的版本控制。接下來(lái)你需要下載并安裝VisualHg以便于我們?cè)赩isual Studio中使用Mercurial。

    TortoiseHg是集成在資源管理器中的,在安裝完成以后,我們?cè)谧烂婵瞻滋廃c(diǎn)擊右鍵便可以看到TortoiseHg的菜單項(xiàng),具體見(jiàn)下圖:

    在Visual Studio中,我們?cè)诮鉀Q方案管理器中的解決方案文件或項(xiàng)目文件上點(diǎn)擊右鍵,便會(huì)出現(xiàn)如下菜單:

    如果你操作后看到的結(jié)果和上面一樣,那說(shuō)明你已經(jīng)完成了Mercurial的本地安裝,此時(shí)你已經(jīng)可以用它來(lái)進(jìn)行本地文件的版本控制,如果愿意,你甚至可以在本地架設(shè)一個(gè)Mercurial版本控制服務(wù)器。

    ?

    Mercurial基本操作

    1.創(chuàng)建版本庫(kù)

    在任意文件夾上,點(diǎn)擊右鍵,便可看到如下菜單:

    在TortoiseHg的子菜單中選擇“在當(dāng)前位置創(chuàng)建版本庫(kù)”,出現(xiàn)新的會(huì)話窗口:

    勾選“添加特殊文件”選項(xiàng),此處添加的便是Hg的全局忽略文件。以Visual Studio為例,全局忽略規(guī)則如下:

    # Ignore file for Visual Studio 2008 ? # use glob syntax syntax: glob ? # Ignore Visual Studio 2008 files *.obj *.exe *.pdb *.user *.msi *.aps *.pch *.vspscc *_i.c *_p.c *.ncb *.suo *.tlb *.tlh *.bak *.cache *.ilk *.log *.lib *.sbr *.scc *.sws *.pdsync *.pdsyncu ~*.doc *.orig [Pp]ackages*/ [Bb]in*/ [Dd]ebug*/ [Ll]ogs/ Backup/ obj/ [Rr]elease*/ _ReSharper*/ _UpgradeReport_Files/ [Tt]est[Rr]esult* [Bb]uild[Ll]og.* *.[Pp]ublish.xml UpgradeLog.XML *.csproj.user *.ncb *.suo

    點(diǎn)擊創(chuàng)建以后,本地版本庫(kù)就創(chuàng)建完成了。此時(shí)你就看到了那個(gè)熟悉的圖標(biāo)—綠色的對(duì)勾,是的,和SVN樣式相同的圖標(biāo)。

    2.提交變更集到本地版本庫(kù)

    我們可以在Visual Studio的解決方案管理器中,右擊解決方案,然后就可以看到如下菜單:

    選擇Commit后,可以看到提交會(huì)話窗口:

    強(qiáng)烈建議大家寫(xiě)一些有語(yǔ)義明確、對(duì)變更集描述清晰的提交日志。也可以直接到解決方案的文件夾上右擊,操作與同面描述的相同。

    3.使用Bitbucket管理項(xiàng)目源碼

    如果當(dāng)前項(xiàng)目是個(gè)人開(kāi)發(fā)的小型項(xiàng)目,上述操作便可滿足需求。但對(duì)于有多人參與合作開(kāi)發(fā)的項(xiàng)目來(lái)說(shuō),只進(jìn)行變更集的本地提交,顯然是不夠的。在沒(méi)有穩(wěn)定的私有源碼服務(wù)器的情況下,我目前(推薦)的做法是,使用Bitbucket來(lái)托管項(xiàng)目源碼。免費(fèi)版本的Bitbucket帳戶,可管理的團(tuán)隊(duì)成員上限為五人,對(duì)于一般的開(kāi)發(fā)團(tuán)隊(duì)來(lái)說(shuō),我想這已經(jīng)足夠了。好了,閑話少說(shuō),我們看一下怎么利用Bitbucket來(lái)管理項(xiàng)目源碼。

    注冊(cè)一個(gè)Bitbucket帳號(hào),登錄以后,在控制面板頁(yè)面,可以看到如下的一些信息:

    ?

    左側(cè)是你參與的項(xiàng)目的最新的變更信息以及事件的操作人,右側(cè)是你所參與或主持的項(xiàng)目。其中,封閉的鎖說(shuō)明當(dāng)前項(xiàng)目為私有項(xiàng)目,只能由項(xiàng)目所有者指定的開(kāi)發(fā)人員進(jìn)行源碼提交和修改,并且只對(duì)團(tuán)隊(duì)成員可見(jiàn);開(kāi)發(fā)的鎖則說(shuō)明是公共項(xiàng)目,源碼對(duì)所有人可見(jiàn),任何人都可以查看并下載源碼。點(diǎn)擊Repositories旁邊綠色的加號(hào),可以創(chuàng)建新的版本庫(kù);也可以使用旁邊的導(dǎo)入版本庫(kù)的功能,從其他源碼服務(wù)器上同步源碼并創(chuàng)建版本庫(kù)。選擇新建版本庫(kù)后,可以看到下面的會(huì)話界面:

    編程語(yǔ)言下拉列表中已經(jīng)包含了幾乎所有的開(kāi)發(fā)語(yǔ)言種類,雖然這個(gè)對(duì)版本控制影響并不是很大,但我還是建議你選擇正確的語(yǔ)言類型。項(xiàng)目創(chuàng)建成功后,便進(jìn)入了項(xiàng)目的管理頁(yè)面,具體見(jiàn)下圖:

    每個(gè)選項(xiàng)卡代表一個(gè)功能模塊,這里我不再贅述,我只就當(dāng)前介紹要用到的概覽(Overview)和管理(Admin)功能做一下說(shuō)明。概覽頁(yè)面中,克隆(clone)后面的便是當(dāng)前項(xiàng)目的同步URL。在本地文件夾的空白處點(diǎn)擊右鍵,選擇TortoiseHg—>clone:

    彈出的會(huì)話窗口中,在“源”那一欄填寫(xiě)克隆地址,點(diǎn)擊克隆即可將版本庫(kù)下載至本地:

    打開(kāi)克隆到本地的版本庫(kù),目錄結(jié)構(gòu)如下:

    其中,.hg目錄即是本地的Mercurial版本庫(kù)。

    ?

    ?

    4.獲取外部變更集

    前面已經(jīng)描述了怎么提交變更集到本地版本庫(kù),在多人合作開(kāi)發(fā)的情況下,我們還需要將本地變更集同步到中心服務(wù)器上。在同步之前,我們要先獲取外部變更集。操作如下:

    在Hg工作臺(tái)(桌面空白處右鍵可見(jiàn))中,選擇要操作的項(xiàng)目,如圖所示,點(diǎn)擊向下拉取的圖標(biāo):

    在彈出的會(huì)話窗口中填寫(xiě)B(tài)itbucket網(wǎng)站中的帳號(hào)密碼:

    獲取完成后,可看到如下分枝列表:

    如果分枝列表的形狀如下圖所示,說(shuō)明在你將本地變更集同步至服務(wù)器之后,團(tuán)隊(duì)中其他成員已進(jìn)行過(guò)合并操作,此時(shí)只需要在右鍵菜單中直接選擇更新(Update)即可:

    否則,需要進(jìn)行外部變更集和本地變更集的合并。

    5.合并變更集

    對(duì)于兩個(gè)不同的分枝,需要進(jìn)行合并操作。如下圖所示,從菜單中選擇“與本地庫(kù)合并”:

    在合并會(huì)話窗口中,取消“盡量自動(dòng)解決合并的沖突”選項(xiàng)(個(gè)人感覺(jué)這個(gè)自動(dòng)合并不但作用不大,反而影響合并后文件的準(zhǔn)確性):

    合并開(kāi)始后,會(huì)自動(dòng)提示沖突文件的個(gè)數(shù),此時(shí)選擇窗口中的resolved選項(xiàng):

    在列出的沖突文件列表中,選擇“Mercurial Resolve”選項(xiàng):

    此時(shí),沖突文件會(huì)移至“Resolved conflicts”列表,選擇其中的某個(gè)文件,點(diǎn)擊“3路合并(3-way diff)”:

    三路合并工具我推薦大家使用(Beyond Compare),合并界面如下圖:

    合并界面中,左側(cè)是本地版本,右側(cè)是外部版本,下方是合并后的文本。點(diǎn)擊綠色箭頭就會(huì)將本地版本合并到文件中,點(diǎn)紫色箭頭會(huì)將外部變更合并到文件中,版本選擇根據(jù)項(xiàng)目情況自行決定。

    合并完成后,選擇當(dāng)前修改的本地文件,并點(diǎn)擊下拉框右側(cè)的保存按鈕:

    ?

    點(diǎn)擊提交,將合并結(jié)果提交至本地庫(kù):

    6.同步合并后的版本至托管服務(wù)器

    打開(kāi)Hg工作臺(tái)(Workbench),選擇快捷菜單欄的推送按鈕(向右上的綠色箭頭):

    在彈出的推送會(huì)話窗口中選擇“確認(rèn)(Yes)”,并填寫(xiě)B(tài)itbucket的帳戶密碼:

    同步開(kāi)始后,可以在最下方的日志輸出窗口看到同步狀態(tài):

    進(jìn)度條結(jié)束,同步操作即已完成:

    ?

    ============?End

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/lsgxeva/p/10195072.html

    總結(jié)

    以上是生活随笔為你收集整理的Mercurial(Hg)基本操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。