可前进可后退,IDEA 中这个功能神了!

当我写这篇文章的可前时候,想起来 N 年前一件往事,后退我一不小心删除了一个刚刚写好的可前页面,又气又恼,后退后来趁着还有印象默默的可前花了半个多小时又重写了一遍,那个时候要是后退知道 IDEA 中这个功能该有多好呀!

今天跟小伙伴们介绍一下 IDEA 中的 Local History 功能。

1. Local History

其实 IDEA 中这些小功能可能大家也都知道,可前但是后退如果没留意可能就辜负了开发 IDEA 的同行们的一篇苦心了。

IDEA 中的可前 Local History 功能可以帮助我们不断跟踪对项目文件所作的更改,并且这个跟踪不受版本控制的后退影响,换句话说,可前无论你用不用 Git、后退Svn 等工具,可前IDEA 中的后退 Local History 功能都是可用的。

IDEA 中的可前 Local History 功能不需要我们手动 commit,当我们 coding、testing 或者 deploying 项目的时候,它会自动记录我们项目文件的源码下载状态。

通过 IDEA 自带的 Local History 功能,我们恢复已经删除的文件,恢复某个文件的某一次更改或者将文件回滚到历史中的任意时刻,最为关键的是这一切不依赖版本控制工具。

不过需要注意的是,Local History 功能虽然好用,但是不能用来代替版本控制工具,这主要有如下一些原因:

Local History 具有保留期,到期之后,版本数据会丢失。Local History 有最大大小,因此无法保证版本数据会持续存在。安装新版本的 IDEA 时会自动清除本地历史记录。用户手动点击了 File->Invalidate Caches/Restart,也会导致版本数据丢失。

2. 使用

举几个例子。

2.1 恢复删除的文件

假设我有一个项目,叫做 druid_monitor,这个项目没有使用版本控制工具 Git 或者 Svn。

现在我不小心删除了该项目中的一个名为 RemoveAdFilter 的香港云服务器类,删完之后,我发现删除错误,想要恢复,那怎么办呢?

选中当前工程,右键单击,依次选择 Local History->Show History,如下图:

在打开的页面中,我们可以看到这个项目中的文件变化:

第一条记录就是我们刚刚删除的记录,现在我想恢复刚刚删除的文件,那么我们选中第一条日志,右键单击,选择 Revert,如下图:

数据恢复之后,可以看到又多了一条日志记录:

2.2 恢复文件的变化

如果你有某一个类,想要回到历史中的某一个版本,那么直接选择这个类,然后进行版本回退即可。

看中了哪个历史版本,选中然后点击 Revert 即可。中间那个就是历史上的状态,右边则是这个类当前的状态:

2.3 打标签

如果某一时间代码的云服务器提供商状态比较重要,可以打个标签标记一下,如下:

选择 Put Label... 设置一个标签,将来在 Show History 中就可以看到这个标签了,这个有点像 Git 中的 Tag 功能,但是不完全一样。

3. 修改有效期

默认文件的 Local History 保存时间是 5 个 working day,意思就是在五个自然日中修改该文件。例如周一改了文件,周二没动,周三改了文件,那么就算两天。

不过这个日期可以自己修改,修改方式如下:

Ctrl+Shift+A,唤出 Action。

输入 Registry,然后按回车。

找到 localHistory.daysToKeep 然后进行修改,如下:

将该值置为 0 就关闭了 Local History 功能。

4. 版本内容保存位置

Local History 记录的内容保存在本地,不同系统保存位置分别如下:

Windows:%LOCALAPPDATA%\JetBrains\<product><version>

例如:

C:\Users\JohnS\AppData\Local\JetBrains\IntelliJIdea2021.3Mac:~/Library/Caches/JetBrains/<product><version>

例如:

~/Library/Caches/JetBrains/IntelliJIdea2021.3

Linux:~/.cache/JetBrains/<product><version>

例如:

~/.cache/JetBrains/IntelliJIdea2021.3
滇ICP备2023000592号-31