今天早上,我通过执行以下操作成功地射中了自己的脚:
- 开始对我的项目进行更改
- 对一堆文件进行了一堆编辑
- 意识到我的方法全错了,我需要重新开始
- cd'd 到我项目的顶层并执行“svn --recursive revert”。将我的本地沙箱恢复到更改前的状态。
- 当我意识到我的本地沙盒中还有许多其他未完成的变化时,我惊恐地嚎叫着,而我刚刚将它们全部抹去。(上周五 svn 服务器宕机了,所以我没能签到,周末忘记了)
幸运的是,在这种情况下,我在周五下班前做了一个“svn diff > temp.txt”,而 temp.txt 文件仍在我的硬盘上,所以我能够将该文件输入“补丁”并恢复我的丢失的变化。
但是为了我将来的参考(即下次我犯同样的愚蠢错误)......有没有办法告诉svn撤消“svn revert”?svn 是否在任何地方保留本地/未签入差异的备份?