分支从过去的mercurial

时间:2009-04-02 15:39:47

标签: mercurial branch

我是使用Mercurial创建程序的单一开发人员。到目前为止,我一直致力于发展的每一步,而且我已经把事情搞砸了,并且想要开展其他工作。

我如何进入先前的状态(即回滚),然后创建一个分支,维持较新的状态?

回滚是否会删除任何内容?我应该这样做吗?只是回滚,直到我在我想要的地方,编辑,然后提交?我以后能够合并变更集,或者至少可以查看它们吗?当然我可以保存这个存储库,回滚,然后创建新的变更集,然后合并这两个存储库?

我是SCM的新手,当然还有DSCM,所以要温柔:)

2 个答案:

答案 0 :(得分:10)

您不想使用hg rollback,只会删除完全一次更改(最近的)。请参阅hg书中的You Can Only Roll Back Once

要从早期版本中创建分支,您需要找到要从中分支的版本号并运行:

hg clone -r <revnum> <source repository> <destination repository>

然后,您可以在新克隆的存储库(不包含您指定的修订号之后的任何历史记录)中进行更改,然后根据需要将这些更改合并回原始文件中。

答案 1 :(得分:0)

另一个答案将起作用,但答案过多。您所需要做的就是:

hg up <revnum>

,您的本地工作文件夹将更新为指定版本的文件状态。您可以从那里开始。

这是我将要开始的最简单的方法(IMHO)。