我想知道是否有可能从旧版本中还原已删除的文件(一种干净的方法)
我为了进行一些测试而重命名了一个文件,然后提交了所有工作(但我忘记重命名该文件),并进行了很多其他的提交... 当我意识到时,已经太晚了...
祝好, Ayman
最简单的方法是使用 bzr revert
命令,加上一个在文件被删除之前的版本号:
bzr revert -rX path/to/file
bzr commit -m 'Bringing path/to/file back'
无需合并任何内容。
如果您知道在哪个修订版本中删除了该文件(您可以使用 bzr log -v
查看历史记录),那么您可以使用合并命令来恢复该文件。因此,对于文件 foo
和修订版本号 N
,您需要运行以下命令:
bzr merge foo -r N..N-1
bzr merge foo -r 287..286
这是我认为最干净的方法:
创建一个分支:
bzr branch mytree repair-path
进入修复分支
恢复丢失的文件到它的最后一个版本(例如在此示例中为287):
bzr revert -r 287 lost.file
提交更改
bzr commit -m "Unshoot my foot"
返回主分支
合并修复分支
bzr merge repair-path
准备好后,提交合并并删除修复分支。
您可以在原始工作分支中仅还原来完成此操作,但最好不要这样做。您还需要稍微担心一下任何未提交的更改。