我是使用Mercurial创建程序的单一开发人员。到目前为止,我一直致力于发展的每一步,而且我已经把事情搞砸了,并且想要开展其他工作。
我如何进入先前的状态(即回滚),然后创建一个分支,维持较新的状态?
回滚是否会删除任何内容?我应该这样做吗?只是回滚,直到我在我想要的地方,编辑,然后提交?我以后能够合并变更集,或者至少可以查看它们吗?当然我可以保存这个存储库,回滚,然后创建新的变更集,然后合并这两个存储库?
我是SCM的新手,当然还有DSCM,所以要温柔:)
答案 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)。