Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mercurial中的过去分支_Mercurial_Branch - Fatal编程技术网

mercurial中的过去分支

mercurial中的过去分支,mercurial,branch,Mercurial,Branch,我是使用Mercurial创建程序的单个开发人员。到目前为止,我一直致力于开发的每一步,我把事情搞砸了,想做些别的事情 如何转到以前的状态(即回滚),然后创建一个分支,以维护较新的状态 回滚是否删除过任何内容?这就是我要做的吗?回滚到我想要的位置,编辑,然后提交?我以后能合并变更集吗,或者至少看看它们?当然,我可以保存这个存储库,回滚,然后创建新的变更集,然后合并这两个存储库 我不熟悉SCM,当然也不熟悉DSCM,所以请温柔一点:)您不想使用hg rollback,它只会擦除一个更改(最近的更改

我是使用Mercurial创建程序的单个开发人员。到目前为止,我一直致力于开发的每一步,我把事情搞砸了,想做些别的事情

如何转到以前的状态(即回滚),然后创建一个分支,以维护较新的状态

回滚是否删除过任何内容?这就是我要做的吗?回滚到我想要的位置,编辑,然后提交?我以后能合并变更集吗,或者至少看看它们?当然,我可以保存这个存储库,回滚,然后创建新的变更集,然后合并这两个存储库


我不熟悉SCM,当然也不熟悉DSCM,所以请温柔一点:)

您不想使用
hg rollback
,它只会擦除一个更改(最近的更改)。参见hg手册中的内容

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

hg clone -r <revnum> <source repository> <destination repository>
hg克隆-r
然后,您可以在新克隆的存储库中进行更改(该存储库不包含您指定的修订号之后的任何历史记录),然后,如果您愿意,可以稍后将这些更改合并回原始存储库。

这些更改将起作用,但它是多余的。您需要做的只是:

hg up <revnum>
hg up
您的本地工作文件夹将更新为指定版本的文件状态。你可以从那里开始工作

一旦您提交,它将自动创建一个匿名分支。您的原始提交仍然保留,但不受您的影响

这是最简单的方法(IMHO),我建议从这开始