3

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

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

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

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

4

2 回答 2

10

您不想使用hg rollback,它只会删除一个更改(最近的)。请参阅hg 书中的您只能回滚一次。

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

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

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

于 2009-04-02T15:55:23.923 回答
1

另一个答案会起作用,但它是过度的。您需要做的就是:

hg up <revnum>

并且您的本地工作文件夹将更新为指定修订的文件状态。你可以从那里工作。

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

这是我建议从最简单的方法(恕我直言)开始。

于 2019-05-28T11:45:50.153 回答