IDEA管理Mercurial分支和書(shū)簽

2018-01-02 10:46 更新

使用 IntelliJ IDEA,您可以使用命名分支和輕量級(jí)分支(書(shū)簽)。IntelliJ IDEA提供了在分支和書(shū)簽之間創(chuàng)建、合并和切換的界面,請(qǐng)參閱切換工作目錄。您也可以在嵌入式終端中運(yùn)行命令,請(qǐng)參閱“使用嵌入式本地終端”。

打開(kāi)分支彈出列表

大多數(shù)帶有分支和書(shū)簽的操作都是從分支彈出列表中調(diào)用的。

Mercurial分支

該列表顯示項(xiàng)目根目錄下的所有Mercurial存儲(chǔ)庫(kù),所有命名的分支以及其中的所有書(shū)簽。當(dāng)前的存儲(chǔ)庫(kù)和當(dāng)前的書(shū)簽都標(biāo)有勾號(hào)。當(dāng)前命名分支的名稱顯示在狀態(tài)欄的專用hg區(qū)域中:

Mercurial分支

要打開(kāi)“分支”彈出列表,請(qǐng)執(zhí)行以下操作之一:

  • 在狀態(tài)欄上,單擊專用hg區(qū)域中當(dāng)前命名分支的名稱。
    Mercurial分支
  • 在主菜單上,選擇:VCS | Mercurial | 分支機(jī)構(gòu)。
  • 在編輯器或版本控制工具窗口的上下文菜單上,選擇:Mercurial | 分支機(jī)構(gòu)。

創(chuàng)建命名分支

  1. 在“分支”彈出列表中,單擊“新建分支”。
  2. 在打開(kāi)的“新建分支”對(duì)話框中,指定新分支的名稱。

新分支立即變?yōu)榛顒?dòng)狀態(tài),其名稱顯示在hg區(qū)域的狀態(tài)欄中。

創(chuàng)建一個(gè)書(shū)簽

  1. 在“分支”彈出列表中,單擊“新建書(shū)簽”。
  2. 在打開(kāi)的“新建書(shū)簽”對(duì)話框中,指定要?jiǎng)?chuàng)建的書(shū)簽的名稱。
  3. 指定是否要立即切換到新的書(shū)簽。
    • 要激活新的書(shū)簽,從而啟用跟蹤和更新的輕量級(jí)分支書(shū)簽標(biāo)識(shí),請(qǐng)將“Inactive”復(fù)選框清除。新的書(shū)簽立即變?yōu)榛顒?dòng)狀態(tài),并在分支彈出列表中用勾號(hào)標(biāo)記其名稱。
    • 要?jiǎng)?chuàng)建不活動(dòng)的書(shū)簽,即保留在當(dāng)前輕量級(jí)分支(書(shū)簽)或命名分支中,并稍后切換到新書(shū)簽,請(qǐng)選中“Inactive”復(fù)選框。

關(guān)閉一個(gè)分支

根據(jù)Mercurial工作流程,當(dāng)您完成功能開(kāi)發(fā)并且不期望有任何進(jìn)一步的更改時(shí),請(qǐng)關(guān)閉相應(yīng)的分支。在活動(dòng)分支之間,日志視圖等中不顯示關(guān)閉的分支。要關(guān)閉分支,請(qǐng)執(zhí)行以下操作:

  1. 在分支彈出窗口中,單擊關(guān)閉分支。在提交更改對(duì)話框就會(huì)顯示出來(lái)。
  2. 單擊提交并關(guān)閉。所有更改將被提交,當(dāng)前分支將被關(guān)閉。

請(qǐng)注意,如果您在“存儲(chǔ)庫(kù)”部分列出了多個(gè)存儲(chǔ)庫(kù),則相應(yīng)的菜單選項(xiàng)將切換到關(guān)閉分支,并且close操作將應(yīng)用于所有這些分支。

合并命名分支和書(shū)簽

您可以將命名分支或書(shū)簽與另一個(gè)命名分支、另一個(gè)書(shū)簽或由標(biāo)簽或修訂版號(hào)標(biāo)識(shí)的特定變更集合并。

  • 將命名分支或書(shū)簽與另一個(gè)命名分支或書(shū)簽合并意味著合并其頭部。合并命名分支和書(shū)簽可以通過(guò)菜單項(xiàng):VCS |Mercurial | 合并來(lái)調(diào)用,從“分支”彈出列表中打開(kāi)“特定于Mercurial的合并”對(duì)話框。
    Mercurial分支
  • 合并具有變更集的命名分支或書(shū)簽意味著合并分支頭與指定的變更集。變更集可以通過(guò)版本號(hào)或標(biāo)簽來(lái)標(biāo)識(shí),請(qǐng)參閱https://www.mercurial-scm.org/wiki/Tag。合并具有特定變更集的命名分支或書(shū)簽只能通過(guò)“VCS |Mercurial | 合并”調(diào)用。

有關(guān)合并操作本身的定義和Mercurial特定的細(xì)節(jié),請(qǐng)參閱https://www.mercurial-scm.org/wiki/Merge。

默認(rèn)情況下,Mercurial要求在合并之前,當(dāng)前工作目錄應(yīng)該是干凈的,也就是說(shuō),它不應(yīng)該包含任何未提交的更改。否則,合并操作失敗,IntelliJ IDEA將顯示相應(yīng)的錯(cuò)誤消息。該消息還建議您通過(guò)運(yùn)行hg merge <target branch, bookmark, or changeset> -C 放棄未提交的更改來(lái)清除當(dāng)前的工作目錄。

如果您當(dāng)前的工作副本不干凈,則可以按照“Shelving”和“Unshelving Changes”中所述提交更改或擱置它們。

將命名分支或書(shū)簽與另一個(gè)命名分支或書(shū)簽合并

將命名分支或書(shū)簽與另一個(gè)命名分支或書(shū)簽合并意味著合并其頭部。

  1. 確保當(dāng)前的工作目錄是干凈的,也就是說(shuō),它不包含任何未提交的更改。如果有的話就進(jìn)行提交或擱置更改。
  2. 通過(guò)執(zhí)行以下操作之一來(lái)調(diào)用合并:
    • 在“分支”彈出列表中,單擊要合并的分支或書(shū)簽的名稱,然后在彈出菜單中選擇“合并”:
    • 在主菜單上選擇:VCS | Mercurial | Merge或者在編輯器的上下文菜單上選擇:Mercurial | Merge。

      在打開(kāi)的“Merge”對(duì)話框中:

      1. 從存儲(chǔ)庫(kù)下拉列表中選擇目標(biāo)存儲(chǔ)庫(kù),該列表顯示當(dāng)前項(xiàng)目根目錄下可用的所有Mercurial存儲(chǔ)庫(kù)。
      2. 選擇“分支”或“書(shū)簽”選項(xiàng),然后選擇指定的分支或書(shū)簽以合并當(dāng)前工作目錄。
  3. 解決沖突。只要發(fā)生沖突,“文件合并沖突”對(duì)話框?qū)⒋蜷_(kāi),并顯示沖突文件列表。使用對(duì)話框的控件來(lái)解決問(wèn)題:
    • 要保留當(dāng)前工作目錄的版本,請(qǐng)單擊“Accept Yours”。
    • 要保留要合并的分支的版本,請(qǐng)單擊“Accept Theirs”。
    • 要手動(dòng)解決沖突,單擊“Merge”并使用沖突解決工具,如解決沖突中所述。

    如果在合并過(guò)程中沒(méi)有沖突,則操作默默通過(guò),合并日志顯示在版本控制工具窗口中。

將命名分支或書(shū)簽與變更集合并

使用變更集合并命名分支或書(shū)簽意味著將分支頭與指定的變更集合并。變更集可以通過(guò)版本號(hào)或標(biāo)簽來(lái)標(biāo)識(shí),請(qǐng)參閱https://www.mercurial-scm.org/wiki/Tag。

  1. 確保當(dāng)前的工作目錄是干凈的,也就是說(shuō),它不包含任何未提交的更改。提交或擱置更改(如果有的話)。
  2. 在主菜單上選擇:VCS | Mercurial | Merge或者在編輯器的上下文菜單上選擇:Mercurial | Merge。
  3. 在打開(kāi)的“Merge”對(duì)話框中:
    1. 從存儲(chǔ)庫(kù)下拉列表中選擇目標(biāo)存儲(chǔ)庫(kù),該列表顯示當(dāng)前項(xiàng)目根目錄下可用的所有Mercurial存儲(chǔ)庫(kù)。
    2. 選擇標(biāo)簽或修訂選項(xiàng)并然后選擇標(biāo)簽或指定要合并當(dāng)前工作目錄的哈希值或修訂號(hào)。要復(fù)制哈希,請(qǐng)打開(kāi)版本控制工具窗口的“日志”選項(xiàng)卡,選擇相關(guān)的分支和修訂,然后在選擇的上下文菜單中選擇“復(fù)制哈?!?。
  4. 解決沖突。只要發(fā)生沖突,“文件合并沖突”對(duì)話框?qū)⒋蜷_(kāi),并顯示沖突文件列表。使用對(duì)話框的控件來(lái)解決問(wèn)題:
    • 要保留當(dāng)前工作目錄的版本,請(qǐng)單擊“Accept Yours”。
    • 要保留要合并的分支的版本,請(qǐng)單擊“Accept Theirs”。
    • 要手動(dòng)解決沖突,單擊““Merge””并使用沖突解決工具,如解決沖突中所述。

    如果在合并過(guò)程中沒(méi)有沖突,則操作默默通過(guò),合并日志顯示在版本控制工具窗口中。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)