偶然地,通过使用GUI而不是CLI,我删除了Mercurial项目中的每个文件。
我恢复了正常,并失去了一些工作,因为我有时间机器,我可以很容易地恢复。但是有没有一种方法可以取消删除这些文件呢?翻遍了手册,用谷歌搜索了一下,但什么也看不到。有什么插件吗?
我可能在这里回答了我自己的问题,但是文件已经从目录中消失了,并且不在要恢复的垃圾桶中,所以我假设Remove是不可撤销的?
附注:我知道hg forget或hg remove -Af会在不从目录中删除的情况下删除,但我的问题与我犯的错误有关,而不是冷静地思考操作。
发布于 2010-07-04 18:54:15
首先,使用hg grep查找要恢复的已删除文件。此命令的输出将显示该文件所在的最后修订版本,以及已删除文件的路径。其次,运行hg revert -r <revision number> <path to deleted file>删除的文件现在将在您的工作副本中,准备提交回head。
发布于 2010-02-03 01:32:38
评论中的引用:
我设置了一个存储库,全部提交,然后删除,然后再次提交
如果是这样的话,您只需要将工作目录更新到以前的版本:
$ hg update -C -r-2请注意负版本号。如果您删除的文件不在以前的版本中,您可以使用以下命令查找它们:
$ hg log -v发布于 2014-06-05 17:37:50
适用于Mercurial 1.6及更高版本的
如果您知道删除文件的名称,您可以使用以下命令轻松找到其修订版:
hg log -r "removes('NAME.c')"这将为您提供中的修订版,其中名为NAME.c的文件(在根目录中)将被删除。
然后,您可以使用以下命令将文件恢复到以前的版本(与其他答案一样):
hg revert -r <revision number> <path to deleted file>您可以使用文件名模式来适应您所知道的内容,例如,您可以使用**/NAME.c在所有目录中进行搜索。你可以在File Name Patters上读到有关它的内容。并使用此链接了解新的revset specifications。
https://stackoverflow.com/questions/2175427
复制相似问题