我是使用 Mercurial 创建程序的单一开发人员。到目前为止,我一直致力于开发的每一步,我把事情搞砸了,想要做点别的事情。
我应该如何进入先前的状态(即回滚),然后创建一个分支,保持较新的状态?
回滚是否会删除任何内容?我应该只做这些吗?只是回滚,直到我在我想要的地方,编辑,然后提交?我以后可以合并变更集,或者至少看看它们吗?当然我可以只保存这个存储库,回滚,然后创建新的变更集,然后合并两个存储库?
我是 SCM 的新手,当然还有 DSCM,所以要温柔:)
您不想使用hg rollback
,它只会删除一个更改(最近的)。请参阅hg 书中的您只能回滚一次。
要从较早的版本创建分支,您需要找到要从中分支的版本号并运行:
hg clone -r <revnum> <source repository> <destination repository>
然后,您可以在新克隆的存储库中进行更改(其中不包含您指定的修订号之后的任何历史记录),然后如果您愿意,稍后将这些更改合并回原始存储库。
另一个答案会起作用,但它是过度的。您需要做的就是:
hg up <revnum>
并且您的本地工作文件夹将更新为指定修订的文件状态。你可以从那里工作。
一旦您提交,它将自动创建一个匿名分支。您的原始提交仍然保留,但不会影响您。
这是我建议从最简单的方法(恕我直言)开始。