Mercurial Checkout无需删除更改

时间:2012-07-16 13:16:29

标签: mercurial

我正在尝试使用两个独立的分支机构。第一个分支更接近部署阶段,而第二个分支是早期开发阶段。由于某种原因,第二个分支不包含第一个分支的一些发展。当我在第二个分支上工作时尝试检出第一个分支时,收到以下错误:

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

现在我的问题是我不想摆脱第二个分支或者无论如何真正编辑它。我的选择是什么时候,我是否错过了Mercurial的一些基本事实?

1 个答案:

答案 0 :(得分:1)

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

Mercurial(以及大多数CVSes AFAIK)在您提交更改之前不会保存工作目录的状态,因此切换分支会有效地丢弃您未提交的任何内容。您可以使用hg shelve扩展程序解决此问题,或者为您正在处理的每个分支创建一个工作副本。