Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File bzr:使用bazaar进行一些提交后恢复已删除的文件_File_Commit_Restore_Bazaar - Fatal编程技术网

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分支mytree修复路径

  • 将cd放入修理部

  • 仅恢复上次修订时丢失的文件(如本例中的287):

    bzr revert-r 287 lost.file

  • 提交更改

    bzr commit-m“松开我的脚”

  • cd回到主分支

  • 合并修复

    合并修复路径

  • 准备好后,提交合并并删除修复分支


  • 您可以通过在原来的工作分支中恢复来实现这一点,但最好不要这样做。您还需要(稍微)担心任何未提交的更改。

    如果您在删除该文件时知道修订号(您可以使用
    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告诉我它是一个未版本化的文件。。。我找到了另一个解决方案:取消删除插件!这可能是因为在进行合并之前重新创建了相同的文件名,从而导致冲突?