# 本地历史记录

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

> **TL;DR**
> `文件 | 本地历史记录 | 显示历史记录`
>
>
>
> `文件、文件夹、项目或任何代码元素的上下文菜单 | 本地历史记录 | 显示历史记录 / 显示所选内容的历史记录`

本地历史记录 可帮助持续跟踪对项目所做的所有更改，而无需依赖版本控制。

与版本控制系统不同，版本控制系统只跟踪提交之间的差异，本地历史记录 提供了更多功能。 它会在您编辑代码、运行测试、部署应用程序等时自动记录您项目的状态，并保留从 IDE 和外部进行的所有有意义更改的修订。

作为您的个人版本控制系统，本地历史记录让您可以恢复已删除的文件、恢复单独的更改，或回滚到文件的任何状态，即使您的项目尚未启用版本控制，或者在上次提交后进行了不需要的更改。 如果您的计算机在您采取任何行动之前意外重启，它也可以用作恢复源。

> **Note:**
> 请注意，本地历史记录不能替代用于长期版本控制的正式版本控制。 当您安装新版本 IntelliJ IDEA 时，本地历史将被清除。 它还有一个 [保留期限](#local-history-retention)和最大大小，因此无法保证修订版本能够持久。

Procedure: 恢复文件中的更改

让我们假设您在上次提交之前对文件进行了一系列更改，然后才意识到您删除了很重要的一部分代码。  撤销  操作无法帮您，因为该更改距离太远，如果使用它，您将被迫放弃其他更改。

使用 IntelliJ IDEA ，您可以通过几次点击来还原该更改。

1. 在编辑器中的任意位置右键点击，然后从上下文菜单中选择   本地历史记录 | 显示历史记录  。

在打开的对话框中，左侧窗格显示了当前文件所有保存的修订列表及时间戳。 右侧窗格显示了一个差异查看器，用于显示每个修订版本与文件当前状态之间的差异。

2. 请执行以下操作之一：

* 要将整个文件还原到此修订版本的状态，请右键点击并从上下文菜单中选择 还原所选更改和以后的更改 或点击工具栏上的 !["还原"图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.diff.revert.svg)。

* 要还原特定的代码片段，请选择包含该片段的修订版本。 请在右侧的差异视图中找到您想要恢复的代码片段，然后点击 ![Chevron 按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.diff.applyNotConflictsLeft.svg) 按钮以从左侧窗格复制它。 ![从本地历史中恢复代码片段](https://resources.jetbrains.com.cn/help/img/idea/2026.3/local_history_restore_code.animated.gif)

> **Tip:**
> 要搜索文件修订，请在本地历史记录对话框的搜索栏中输入一段文件内容。

Procedure: 恢复多个文件中的更改

与查看单个文件的本地历史类似，您可以查看整个文件夹、项目或多个单个文件的本地历史。

1. 在   项目   工具窗口 ( `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))) 中，右键点击节点，或选择要查看其历史记录的文件并右键点击，然后选择  `本地历史记录 | 显示历史记录` 。

2. 找到您要恢复的更改，然后点击工具栏上的 !["还原"图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.diff.revert.svg)。

请点击 ![显示差异](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.vcs.diff.svg) 工具栏上的按钮以在差异查看器中查看更改。 在此，使用大于号按钮 ![Chevron 按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.diff.applyNotConflictsLeft.svg) 撤销所需的更改。

Procedure: 恢复已删除的文件

如果您不小心删除了一个不在版本控制下的文件，您可以使用 本地历史记录 恢复该文件。

1. 在   项目   工具窗口 ( `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))) 中，选择包含已删除文件的节点，右键点击该节点，然后从上下文菜单中选择  `本地历史记录 | 显示历史记录` 。

2. 在左侧，选择包含要恢复文件的修订，右键点击该文件，然后选择   还原选区  。

![从本地历史记录恢复文件](https://resources.jetbrains.com.cn/help/img/idea/2026.3/local_history_restore_file.animated.gif)

Procedure: 向特定状态添加标签

本地历史记录的修订通常用时间戳标记，这些时间戳不易导航。 一些修订版本会根据预定义事件自动标记标签：运行测试、部署应用、提交更改等。 您随时可以添加一个新标签，以标记本地历史记录的当前状态，例如，在开始重构之前。

1. 从主菜单中选择  `文件 | 本地历史记录 | 放置标签` 。

2. 在打开的对话框中，输入任何有意义的标签名称，然后点击   OK  。

Procedure: 共享本地历史

本地历史记录不支持共享访问，它被存储在本地，仅供个人使用。 但是，您可以创建一个相对于特定版本的补丁文件，并与他人共享。

1. 在本地历史记录对话框中选择一个修订，然后点击工具栏上的   创建补丁   ![创建补丁](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.vcs.patch.svg)。

2. 在打开的对话框中，指定您希望如何创建新的补丁。

Procedure: 更改 本地历史记录 保留期限

默认情况下，本地历史记录配置为存储最近 5 个  工作 日（即文件被修改的日子）的修订版本。

1. 在   设置   对话框（ `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))），转到  `高级设置` 。

2. 在   IDE  部分，在   在本地历史记录中存储更改的持续时间  字段中提供所需的保留期值。

或者，您可以通过 [配置 JVM 选项](tuning-the-ide.html#configure-jvm-options) 以 Java 属性的形式传递  `localHistory.daysToKeep`  参数。 例如，要将保留期设置为 30 天，请将以下行添加到 JVM 选项文件中：

```
-DlocalHistory.daysToKeep=30
```

> **Note:**
> 如果您想完全禁用 本地历史记录，请将保留期设置为  `0` 。

## 本地历史文件的位置

本地历史记录  以二进制文件的形式存储在  `LocalHistory`  子目录下的 [IntelliJ IDEA system directory](directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html#system-directory)：

Windows:

语法
: `%LOCALAPPDATA%\JetBrains\<product><version>`

示例
: `C:\Users\JohnS\AppData\Local\JetBrains\IntelliJIdea%instance-version%`

macOS:

语法
: `~/Library/Caches/JetBrains/<product><version>`

示例
: `~/Library/Caches/JetBrains/IntelliJIdea%instance-version%`

Unix / Linux:

语法
: `~/.cache/JetBrains/<product><version>`

示例
: `~/.cache/JetBrains/IntelliJIdea%instance-version%`

您可以使用 [idea.system.path](null) 属性更改系统目录的位置。

观看此视频，了解 本地历史记录 特性的现场演示：

[Video](https://www.youtube.com/v/jJjT3A4Swik)

