2013-06-05 94 views
2

指定包含未修改變更集的-r選項的修訂/恢復集的最佳方式是,例如在本地克隆或在僅使用變更集的變更庫中創建書籤時非常有用被推。未修改變更集的Mercurial修訂版/修訂集

當您需要切換到在尚未準備好推送的工作中間工作的其他情況時,通常需要這樣做。

回答

0

如果我理解正確,您希望等效於git stash,這是作爲mercurial的擴展實現的。

查看wiki頁面。 https://www.mercurial-scm.org/wiki/ShelveExtension

編輯:我不得不提到,我不使用這個工作流,在你的情況下,我會做一個「開發」分支並定期提交(甚至WIP提交),當穩定時,你可以合併到主。

1

有跡象表明,可用於獲取此信息的幾個revsets:

  1. first(outgoing())將把尚未推到您的默認位置推第一變更。

  2. first(!public())將引用未被推到任何地方的第一個變更集。

你可能想,如果你想更新這些變更集的父,開始一個新的匿名分行新修復這些與p1([set])謂詞結合起來。

此外,在開始修復工作之前,您可能需要將未完成工作的變更集的階段設置爲secret,以防止它們被意外推送。

你可以做到這一點使用hg phase --secret --force -r "!public()"並使用hg phase --draft -r "secret()"來再次切換回它們(雖然這將改變所有祕密的變更起草所以你需要,如果你在其他部門使用階段更具體)

0

如果你想revset(S),你必須使用outgoing([path])(或! outgoing([path])作爲變更規格。

[路徑]是存儲庫(或別名???)的URL,如果不是默認