在 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. 给特定状态本地历史记录加标签

本地历史记录修订通常标有时间戳,不容易导航。可以添加新标签来标记本地历史记录的当前状态,例如,在开始大规模重构之前。

主菜单 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 时,将清除本地历史记录,另外,它还具有保留期期限的限制等等。

图片描述