当我写这篇文章的时候,想起来 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.3
Mac:
~/Library/Caches/JetBrains/<product><version>
例如:
~/Library/Caches/JetBrains/IntelliJIdea2021.3
Linux:
~/.cache/JetBrains/<product><version>
例如:
~/.cache/JetBrains/IntelliJIdea2021.3
好啦,每天一个小技能~