我想知道是否可以从旧版本中恢复已删除的文件(这是一种干净的方式)
我已经为某些测试重命名了一个文件,而不是我提交了所有的工作(我忘了重命名文件)并做了很多其他的提交...... 当我意识到,为时已晚......
此致 艾曼
答案 0 :(得分:12)
最简单的方法是在删除文件之前简单地使用带有修订号的bzr revert
:
bzr revert -rX path/to/file
bzr commit -m 'Bringing path/to/file back'
您无需合并任何内容。
答案 1 :(得分:4)
如果您在删除该文件时知道修订号(可以使用bzr log -v
检查历史记录),则可以使用merge命令恢复该文件。因此,对于文件foo
和修订号N
,您需要运行命令:
bzr merge foo -r N..N-1
E.g。修订版287:
bzr merge foo -r 287..286
此命令将恢复您的文件,如修订版287.您需要提交此更改并完成。
答案 2 :(得分:0)
这不是最好的答案。请参阅bialix的答案,这个答案要简单得多。我会留在这里仅供参考。
以下是我认为最干净的方法:
创建分支:
bzr branch mytree repair-path
进入修复分支
在其最后修订版本中仅恢复丢失的文件(例如,在此示例中为287):
bzr revert -r 287 lost.file
提交更改
bzr commit -m“Unhoot my foot”
cd回到主分支
合并修复
bzr merge repair-path
准备好后,提交合并并删除修复分支。
你可以通过恢复原来的工作分支来做到这一点,但这可能是不好的做法。您还需要担心(只是一点点)任何未提交的更改。