我有一个文件在几个变更集之前被删除了。可以想象,此后我的项目中的其他文件已经发生了变化。那么,如何在不还原所有其他源文件的情况下恢复这个文件(实际上是2个文件)呢?
我有一个文件在几个变更集之前被删除了。可以想象,此后我的项目中的其他文件已经发生了变化。那么,如何在不还原所有其他源文件的情况下恢复这个文件(实际上是2个文件)呢?
对于单个文件,使用hg revert
:
hg revert -r REV path/to/deleted/file
来自于hg revert
的帮助文档
如果文件被删除,则会恢复。如果文件的可执行模式已更改,则会重置。
如果给出了名称,则还原与名称匹配的所有文件。如果没有给出参数,则不会还原任何文件。
另一种方法是使用Kiln网站。您可以通过更改集ID搜索更改集,或仅使用日期搜索,例如:date:2011-10-01..2011-10-31
然后,它将为您提供更改集列表,单击可显示您要恢复的代码版本的内容。然后,如果您在右侧单击Browse files at [changeset id]
链接,您将得到该时间点上文件夹和文件的列表。
然后,您只需将新文件添加到项目中,并将代码复制并粘贴回这些新文件中即可。
诚然,如果要恢复整个文件,这不是最好的方法,但如果您只想恢复代码的一部分或某人随后添加了一个具有旧文件名称的新文件,则此方法很方便。