Mercurial:与未提交的更改合并?

Mercurial:与未提交的更改合并?,mercurial,Mercurial,我试图学习mercurial中的合并和冲突解决工作流。在与另一个变更集合并之前,我是否应该提交工作目录中的任何未提交的变更 如果在提交工作目录中的更改之前进行合并,会发生什么情况?与未提交的更改合并从根本上说是不合理的操作。合并可能会出错,并且您希望在合并时能够恢复到以前的状态,这只有在提交这些更改时才可能。如果您当时无法忍受创建新的变更集,请将它们提交到Mercurial队列中。谢谢@Ry4an。我不知道Mercurial队列。@Ry4an:合并将中止一个脏的工作副本。但是,更新允许您继续,在

我试图学习mercurial中的合并和冲突解决工作流。在与另一个变更集合并之前,我是否应该提交工作目录中的任何未提交的变更


如果在提交工作目录中的更改之前进行合并,会发生什么情况?

与未提交的更改合并从根本上说是不合理的操作。合并可能会出错,并且您希望在合并时能够恢复到以前的状态,这只有在提交这些更改时才可能。如果您当时无法忍受创建新的变更集,请将它们提交到Mercurial队列中。

谢谢@Ry4an。我不知道Mercurial队列。@Ry4an:合并将中止一个脏的工作副本。但是,更新允许您继续,在那里您可以使用
hg resolve--tool internal:local
恢复到旧状态。之后,您必须执行一个额外的
hg更新
,但我们会在工作副本中备份脏文件。@intrpc:如果您是Mercurial的新手,我建议您远离MQ。这不是最容易理解的,如果你不知道自己在做什么,它相对容易弄乱你的存储库或丢失你的更改。这并不总是不可靠的——事实上,不能做到这一点可能是不可靠的。例如,我可以对配置文件进行特定于本地平台的更改,但我永远不会提交这些更改。这是一种非常普遍的情况。如果我不得不经历很多困难,比如排队或上架,那么犯错误的可能性就大得多。对于许多其他命令,有一种方法可以排除某些文件;您无法在此处执行此操作,这非常令人恼火。请查看。使用Mercurial,您可以轻松创建一个测试存储库,或现有存储库的测试克隆,以便自己尝试此类操作。与SVN相比,这是一个很大的优势,我建议在学习Mercurial的细节时多做这件事。