在 PyCharm 里用 Local History
前面已經介紹了版本工具可以記錄整個文件更新歷史,對于記錄文件的變化還有一個比較重要的功能,就是Local History(本地歷史記錄),它與版本控制是無關的,本地歷史記錄會自動維護所有有意義的更改的修訂,無論是來自 IDE 還是外部的, 這將生成項目結構和源代碼更改的詳細時間線,當有必要時可以 Rollback 到任意時間點代碼狀態。本節將講解 Local History 相關功能。
1. 查看本地歷史
在 PyCharm 內,不僅可以查看文件的更新歷史,還可以查看某個類、方法或者代碼片斷及項目節點等不同范圍的歷史記錄。
1.1 查看文件本地歷史
主菜單 VCS -> Local History -> Show History
或者在編輯器內右鍵菜單 Local History -> Show History
,這將彈出一個對話框,其中顯示左側文件的更改列表和右側選定更改的差異查看器。
1.2 查看項目本地歷史
在 Project 工具窗口內,選擇項目節點, 主菜單 VCS -> Local History -> Show History
或者右鍵菜單 Local History -> Show History
,這將彈出一個對話框,其中顯示左側所選節點的更改列表以及右側更改、刪除或添加的文件列表。要研究特定文件中的更改,右鍵單擊,然后選擇"顯示差異"。
1.3 查看類、方法、字段及代碼片斷本地歷史
在編輯器內,右鍵點擊類、方法名, Local History -> Show History for Class
或者 Show History for Selection
:
2. 給特定狀態本地歷史記錄加標簽
本地歷史記錄修訂通常標有時間戳,不容易導航??梢蕴砑有聵撕瀬順擞洷镜貧v史記錄的當前狀態,例如,在開始大規模重構之前。
主菜單 VCS -> Local History -> Put Label
或者在編輯器內右鍵菜單 Local History -> Put Label
, 在打開對話框內輸入一個意義的名字標記當前代碼狀點,然后點擊 OK 。再次查看該文件歷史,創建標簽是被顯示在當前狀態行上。
3. 將代碼從歷史記錄還原到特定狀態
本地歷史記錄對話框中,可以根據時間軸上的時間與右側的文件對比,在左側選擇要恢復的版本,右鍵從上下文菜單中選擇 Revert 或者單擊工具欄上的 Revert 圖標, 代碼將恢復選擇的狀態。同時將為本地歷史記錄添加新修訂版記錄。
4. 共享本地歷史
本地歷史記錄不支持共享訪問,它存儲在本地,僅供個人使用。但是,我們還是可以創建一個 Patch 文件,該文件包含相對于特定修訂版的更改,這樣就可以與他人共享這些更改。
本地歷史記錄對話框中選擇修訂版,然后右鍵上下文菜單選擇 Create Patch 或者點擊工具欄上對應按鈕。
.Patch 修補程序是用于共享更改,無需將它們簽入 VCS 存儲庫, 然后通過其它方式,比如電子郵件發送給其它人實現共享,在實際工作并不是經常用,有興趣的話請看相關文檔。
5. 更新本地歷史記錄的保留期
默認情況下,本地歷史記錄配置為存儲過去 5 個工作日, 這個值可以被更新。
主菜單 Help -> Find -> Action
, 查找并打開 Registry, 修改localHistory.daysToKeep參數的值。單擊關閉并重新啟動 PyCharm 以使更改生效。
6. 小結
本小節講述了如何通過本地歷史功能對文件進行跟蹤與管理,隨時都可以把代碼恢復到特定的狀態。因為本地歷史功能的存在,即使我們在實際工作中由于一些誤操作也不用擔心代碼找不回來。
但要注意,本地歷史記錄不能替代長期版本控制的正確版本控制。安裝新版本的 PyCharm 時,將清除本地歷史記錄,另外,它還具有保留期期限的限制等等。