恢复已删除的多次提交后的文件

恢复已删除的多次提交后的文件

因此我开始了一个新的开发分支并决定删除一些文件。

经过几次提交后,我意识到某个决定是错误的,我需要恢复几个文件。

我最初的想法是如何恢复这些文件,只需从另一个分支复制并将它们提交给新分支的负责人,但我担心这意味着这些文件不会与它们的旧历史记录相关联。

有没有办法做到这一点并保持历史的完整性?

我正在使用 mercurial 版本 1.5.2

答案1

我在另一个网站上找到了这个解决方案,但我找不到它在哪里。

答案是恢复单独删除的文件:

hg revert -rxxx filename

其中xxx是删除之前的修订编号。

然后将它们重新提交。历史记录被保留!

答案2

步骤 1:查找删除该文件的修订版本

$ hg log -r "removes('filename')"

    changeset:   1725:28bee50c5fe4

步骤 2:将文件完全恢复到之前的修订版本

$ hg rev -r 1724 -C filename

-C(干净)或选项--no-backup确保文件收到完全相同的文件名,而没有任何修订号附录。

相关内容