【问题记录】Linux下使用PyCharm恢复代码文件

【问题记录】Linux下使用PyCharm恢复代码文件

Contents

问题

一个改了两三天的程序,今天被我在使用WinSCP进行复制操作时不小心覆盖掉了。我直接懵逼了,吓傻了...心想今晚能不能重新把他写出来...后来发现可以用PyCharm进行回退,PyCharm万岁!!!

解决

PyCharm当中的项目名右键菜单->Local History->Show History记录了文件的历史版本,可以进行Revert操作。选择一个正确无误的时间点,可以将整个项目都恢复到历史版本。

经验总结

  1. WinSCP在使用后台传输这一功能时,不会在覆盖文件前提示,需要进行设置
  2. 参考FTP将文件复制到同一FTP的另一个位置
    准确的说,WinSCP客户端采用的SFTP协议是不支持直接复制的,只支持移动文件,所以他的复制操作并非是通过调用cp命令完成的,而是通过本地副本或者是重新打开另一个会话的方式进行复制,而这个功能中并不会进行覆盖前的检查。经过测试,必须在复制时勾选“复制本地临时副本”选项,才会在覆盖文件前进行提示。
  3. 由上述经验可以得出结论:
  • 最好不要用这种SFTP软件进行上传/下载/移动之外的操作,因为很容易出现丢失文件的情况。
  • 更不要用它自带的简易文本编辑器编辑代码(SFTP连接不稳定,如果断了,可能就会出现代码丢失)。最好通过MobaXTermX11 forward功能或者远程桌面打开图形化的IDE界面来编写代码,这样IDE会自动保存代码,而且就算网络断了,服务器端的IDE进程并不会退出。
  • 对于删除,复制等比较高风险的操作,尽量还是使用命令行进行。
  1. 复制操作: Linux默认的cp命令不会在覆盖文件之前进行提示,需要加上-i参数
    参考Linux 指令详解 alias 设置别名,为cp设置别名,默认带上-i参数。
    mv``rm操作也可以加上-i参数。

    更狠的是,直接用trash作为rm别名,彻底杜绝文件被删除。
    enter description here
  2. 删除操作: 参考分享|Trash-Cli:Linux 上的命令行回收站工具
    • 不要使用rm进行删除操作,因为真的很危险,没有任何反悔的余地,删了就没了。
    • 安装trash-cli命令行工具,可以实现类似windows下的回收站的功能,这样就不怕代码消失了。
  3. 养成使用git的习惯,或者对于关键的项目代码手动复制进行备份,代码文件一般也不会很占用空间!
posted @ 2020-10-29 20:27  Howfar's  阅读(461)  评论(0编辑  收藏  举报