File bzr:使用bazaar进行一些提交后恢复已删除的文件
我想知道是否有可能从旧版本恢复已删除的文件(一种干净的方法) 我已经为一些测试重命名了一个文件,然后我提交了我所有的工作(我忘记重命名该文件),并做了很多其他提交。。。 当我意识到,已经太晚了 问候,,File bzr:使用bazaar进行一些提交后恢复已删除的文件,file,commit,restore,bazaar,File,Commit,Restore,Bazaar,我想知道是否有可能从旧版本恢复已删除的文件(一种干净的方法) 我已经为一些测试重命名了一个文件,然后我提交了我所有的工作(我忘记重命名该文件),并做了很多其他提交。。。 当我意识到,已经太晚了 问候,, 艾曼这不是最好的答案。见比亚利克斯的答案,答案简单得多。我把这个放在这里仅供参考 以下是我认为最干净的方法: 创建分支: bzr分支mytree修复路径 将cd放入修理部 仅恢复上次修订时丢失的文件(如本例中的287): bzr revert-r 287 lost.file 提交更改 bzr
艾曼这不是最好的答案。见比亚利克斯的答案,答案简单得多。我把这个放在这里仅供参考
以下是我认为最干净的方法:
您可以通过在原来的工作分支中恢复来实现这一点,但最好不要这样做。您还需要(稍微)担心任何未提交的更改。如果您在删除该文件时知道修订号(您可以使用
bzr log-v
检查历史记录),那么您可以使用merge命令恢复该文件。因此,对于文件foo
和修订号N
您需要运行以下命令:
bzr merge foo -r N..N-1
例如,对于第287版:
bzr merge foo -r 287..286
此命令将恢复您的文件,如版本287所示。您需要提交此更改,然后您就完成了。最简单的方法是在删除文件之前,使用带有修订号的
bzr revert
:
bzr revert -rX path/to/file
bzr commit -m 'Bringing path/to/file back'
您不需要合并任何内容。小心!这将撤销整个版本287。我认为您不能只合并变更集中的一个特定文件。是的,bzr只能合并变更集中的一个文件。你可以自己测试。是的,你完全正确+1.我收回我的评论和回答。我唯一仍然坚持的是,根据您工作的复杂性,在另一个分支中恢复可能是明智的。我尝试了这个,但bzr告诉我它是一个未版本化的文件。。。我找到了另一个解决方案:取消删除插件!这可能是因为在进行合并之前重新创建了相同的文件名,从而导致冲突?