Mercurial:如何在工作目錄之間切換

2018-01-03 17:46 更新

IntelliJ IDEA的Mercurial集成提供了將存儲(chǔ)庫(kù)的工作目錄更新到指定的變更集或特定的開(kāi)發(fā)線的可能性 。變更集可以通過(guò)它們的哈希或以前分配的標(biāo)簽標(biāo)識(shí)符來(lái)標(biāo)識(shí)。

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

    • 將命名分支或書(shū)簽更新到另一個(gè)命名分支或書(shū)簽意味著更新到其頭部。更新命名的分支和書(shū)簽可以通過(guò)菜單項(xiàng)“VCS | Mercurial | 更新到”調(diào)用,從“分支(Branches)”彈出列表中打開(kāi)“特定于Mercurial的交換機(jī)工作目錄”對(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)用。

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

    如果您當(dāng)前的工作副本不干凈,則可以按照“Shelving”和“Unshelving Changes”中所述提交更改或擱置它們。IntelliJ IDEA提供了在已經(jīng)調(diào)用更新操作時(shí)丟棄任何未提交的更改的可能性。此選項(xiàng)僅在“Mercurial特定的交換機(jī)工作目錄”對(duì)話框中可用。

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

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

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

    切換到另一個(gè)命名分支或書(shū)簽

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

    1. 請(qǐng)確保當(dāng)前的工作目錄是干凈的,也就是說(shuō),它不包含任何未提交的更改。如果有未提交的更改的話,請(qǐng)?zhí)峤换驍R置更改。

      如果通過(guò)“切換工作目錄”對(duì)話框調(diào)用“更新”,則還可以通過(guò)放棄任何未提交的更改來(lái)防止沖突。

    2. 通過(guò)執(zhí)行以下操作之一來(lái)調(diào)用更新:
      • 在“分支(Branches)”彈出列表中,單擊要更新的分支或書(shū)簽的名稱(chēng),然后在彈出菜單中選擇“更新到(Update to)”:
      • 在主菜單上選擇:VCS | Mercurial | 更新到,或在編輯器的上下文菜單上選擇:Mercurial | 更新。

        在打開(kāi)的“切換工作目錄(Switch Working Directory)”對(duì)話框中:

        1. 從存儲(chǔ)庫(kù)下拉列表中選擇目標(biāo)存儲(chǔ)庫(kù),該列表顯示當(dāng)前項(xiàng)目根目錄下可用的所有Mercurial存儲(chǔ)庫(kù)。
        2. 選擇“分支(Branch)”或“書(shū)簽(Bookmark)”選項(xiàng),然后選擇命名分支或書(shū)簽以更新當(dāng)前工作目錄。
        3. 要防止在更新過(guò)程中出現(xiàn)故障(如果當(dāng)前工作目錄不干凈),請(qǐng)選中“覆蓋本地修改的文件(無(wú)備份)”復(fù)選框。未提交的更改將被丟棄。

    切換到其他變更集

    1. 請(qǐng)確保當(dāng)前的工作目錄是干凈的,也就是說(shuō),它不包含任何未提交的更改。如果有未提交的更改的話,請(qǐng)?zhí)峤换驍R置更改。

      如果通過(guò)“切換工作目錄(Switch Working Directory)”對(duì)話框調(diào)用更新,還可以通過(guò)放棄任何未提交的更改來(lái)防止沖突。

    2. 通過(guò)執(zhí)行以下操作之一來(lái)調(diào)用更新:
      • 在“分支(Branches)”彈出列表中,單擊要更新的分支或書(shū)簽的名稱(chēng),然后在彈出菜單中選擇“更新到(Update to)”:
      • 在主菜單上選擇:VCS | Mercurial | 更新到,或在編輯器的上下文菜單上選擇:Mercurial | 更新。

        在打開(kāi)的“切換工作目錄(Switch Working Directory)”對(duì)話框中:

        1. 從存儲(chǔ)庫(kù)下拉列表中選擇目標(biāo)存儲(chǔ)庫(kù),該列表顯示當(dāng)前項(xiàng)目根目錄下可用的所有Mercurial存儲(chǔ)庫(kù)。
        2. 選擇“分支(Branch)”或“書(shū)簽(Bookmark)”選項(xiàng),然后選擇命名分支或書(shū)簽以更新當(dāng)前工作目錄。
        3. 要防止在更新過(guò)程中出現(xiàn)故障(如果當(dāng)前工作目錄不干凈),請(qǐng)選中“覆蓋本地修改的文件(無(wú)備份)”復(fù)選框。未提交的更改將被丟棄。
    3. 解決沖突。只要發(fā)生沖突,“文件合并沖突(Files Merged with Conflicts)”對(duì)話框?qū)⒋蜷_(kāi),并顯示沖突文件列表。使用對(duì)話框的控件來(lái)解決問(wèn)題:
      • 要保留當(dāng)前工作目錄的版本,請(qǐng)單擊“接受你的(Accept Yours)”。
      • 要保留要合并的分支的版本,請(qǐng)單擊“接受他們(Accept Theirs)”。
      • 要手動(dòng)解決沖突,單擊“合并(Merge)”并使用沖突解決工具,如解決沖突中所述。

      如果在更新期間沒(méi)有發(fā)生沖突,則操作將悄悄地傳遞,更新日志將顯示在版本控制工具窗口中。

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

    掃描二維碼

    下載編程獅App

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

    編程獅公眾號(hào)