2012-07-16 21 views
1

我試圖與兩個單獨的分支一起工作。第一個分支更接近部署階段,而第二個分支則處於早期開發階段。由於某種原因,第二個分支不包含第一個分支的一些發展。當我嘗試簽出第一支在第二分支上工作,而我收到以下錯誤:Mercurial簽出不刪除更改

abort: crossed branches (use 'hg merge' to merge or use 'hg update -c' to discard changes) 

現在我的問題是我不想要擺脫第二分支的還是真的反正編輯。我的選擇是什麼時候,我是否錯過了Mercurial的一些基本事實?

回答

1

您需要在簽出新分支之前提交您的更改或以其他方式保存(例如使用hg shelve)。

Mercurial(和大多數CVSes AFAIK)不會保存工作目錄的狀態,直到您提交更改,因此切換分支會有效地丟棄任何您尚未提交的內容。您可以使用hg shelve擴展名來解決此問題,或者爲您正在使用的每個分支提供一份工作副本。