【問題記錄】Linux下使用PyCharm恢復程式碼檔案
阿新 • • 發佈:2020-10-29
【問題記錄】Linux下使用PyCharm恢復程式碼檔案
Contents
問題
一個改了兩三天的程式,今天被我在使用WinSCP
進行復制操作時不小心覆蓋掉了。我直接懵逼了,嚇傻了...心想今晚能不能重新把他寫出來...後來發現可以用PyCharm
進行回退,PyCharm萬歲!!!
解決
PyCharm
當中的專案名右鍵選單->Local History->Show History
記錄了檔案的歷史版本,可以進行Revert
操作。選擇一個正確無誤的時間點,可以將整個專案都恢復到歷史版本。
經驗總結
WinSCP
在使用後臺傳輸這一功能時,不會在覆蓋檔案前提示,需要進行設定
- 參考FTP將檔案複製到同一FTP的另一個位置 。
準確的說,WinSCP
客戶端採用的SFTP
協議是不支援直接複製的,只支援移動檔案,所以他的複製操作並非是通過呼叫cp
命令完成的,而是通過本地副本或者是重新開啟另一個會話的方式進行復制,而這個功能中並不會進行覆蓋前的檢查。經過測試,必須在複製時勾選“複製本地臨時副本”選項,才會在覆蓋檔案前進行提示。
- 由上述經驗可以得出結論:
- 最好不要用這種
SFTP
軟體進行上傳/下載/移動
之外的操作,因為很容易出現丟失檔案的情況。 - 更不要用它自帶的簡易文字編輯器編輯程式碼(SFTP連線不穩定,如果斷了,可能就會出現程式碼丟失)。最好通過
MobaXTerm
的X11 forward
- 對於刪除,複製等比較高風險的操作,儘量還是使用命令列進行。
- 複製操作: Linux預設的
cp
命令不會在覆蓋檔案之前進行提示,需要加上-i
引數
參考Linux 指令詳解 alias 設定別名,為cp
設定別名,預設帶上-i
引數。
- 刪除操作: 參考分享|Trash-Cli:Linux 上的命令列回收站工具
- 不要使用rm進行刪除操作,因為真的很危險,沒有任何反悔的餘地,刪了就沒了。
- 安裝
trash-cli
命令列工具,可以實現類似windows下的回收站的功能,這樣就不怕程式碼消失了。