汞Mercurial:有什么办法“保留”工作副本以备后用?

问题描述

| 场景:上一次提交后,您决定对代码库进行一些广泛的重构。一段时间之后,您意识到它花费的时间比预期的要长,您真的希望推迟重构一段时间,并执行更紧迫的任务。但是,您并不想失去到目前为止已经完成的所有重构工作。 因此,有一种方法可以对工作副本进行“归档”或“分支”(基本上,将其放在一边,但将其保留在存储库中以供以后访问),然后恢复到上一次的良好提交并从那里恢复,而不用担心创建多个头或将两者混为一谈?     

解决方法

        不用担心“怕两个头”。两个头是很正常的状态。它被称为匿名分支,这是人们在Mercurial中进行临时分支的方式之一。 只需提交,然后更新到Tip-1,您就可以开始了:
hg commit -m \"working on XXX\"
hg update -r \"tip-1\"
而你走了。如果您想在该头上放一个书签(永久性比标签小的),可以,但是不必担心。 您总是可以用
hg push -r HEAD
推一个头而不必推另一个头,甚至可以是
hg push -r .
不要害怕头-它们正是使基于DAG的VCS强大的原因。     ,        您可以使用mq,阁楼或搁置扩展名来执行此操作。     ,         为您的重构版本分配标签 提交标签 再次克隆存储库 恢复到稳定版本 从稳定版本开始工作 不用担心多个头,以后可以轻松合并 由于mercurial使用硬链接,因此您可以将两个存储库都保留在本地计算机上,而占用的空间最少。 命令: $ hg标签重构 $ cd .. $ hg clone重构稳定 $ cd稳定 $ hg恢复-r REVISION_NUMBER 额外的帮助: http://hgbook.red-bean.com/ http://kiln.stackexchange.com/     ,        您可以通过以下简单方法进行操作:
$ hg diff -g > tmp
$ hg revert --all
您所做的更改现在将存储在“ 4”中。您可以使用
$ hg patch --no-commit tmp
然后您将回到原来的位置。有一些诸如shelve之类的扩展程序可以自动为您完成上述操作。     ,        在git中,您将执行\'stash \'。根据此hg具有\'shelve \',但需要扩展。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...