2015-06-29 36 views
3

我克隆了一個Mercurial repo,並在簽出的代碼中做了一些更改。然後,我抓住了這些更改(7個文件),並使用hg commit承諾,但未先創建書籤。提交變更集後創建一個hg書籤

這是我hg summary命令的輸出:

parent: 8172:b39efc1322fe tip 
    Made some changes in my feature 
branch: default 
commit: 7 modified 
update: 2 new changesets, 3 branch heads (merge) 
phases: 3 draft 

這些變化將不準備要推至少一個星期,所以我想切換到一個新的書籤和其他地區工作的代碼。

問題是,我意識到我做了一個提交而不在書籤中,所以我很害怕在切換到新的書籤之後,我承諾的更改可能會丟失。

有沒有簡單的方法將這些提交的更改移動到新書籤中?

回答

5

根本沒有必要害怕:mercurial不會忘記你承諾的任何東西,除非你明確地做到這兩點:啓用歷史編輯擴展,並樂意以實際刪除一個或多個變更集的方式使用它們。

Mercurial不是git,mercurial在當前沒有簽出並且沒有附加名稱(書籤)的情況下,永遠不會忘記或垃圾收集變更集。

您可以使用hg heads向您顯示您的所有頭像。並且您始終可以通過hg bookmark --rev XXX MyBookmark創建附加到任意更改集的新書籤,其中XXX是您要附加書籤的changesetID。

-3

恐怕在切換到新書籤後,我承諾的更改可能會丟失。

你怎麼想像這個? OMFG,你提交了對版本庫(你的克隆)的修改,你就有了這個變更集(8172:b39efc1322fe)。當|如果你將svn up到另一個節點,你將只需改變你的工作目錄的父母,你會得到「2新變更集」,結果「3分支頭」 - 2新變更集+你的承諾8172,而這個b39efc1322fe將永遠是首腦之一,即使你會在另一個工作。

如果怕忘記它(如何???真的),你可以在後序的事實書籤(提交)變更與hg bookmark -r b39efc1322fe $WIP && hg commit -m "Bookmarked my work"hg up $WIP何時會時間來繼續改變這個塊

+0

不需要嗤之以鼻 - 這是一個合理的問題,想要將提交移動到新的書籤上,無論恐懼是否成立。 – shiri