# 搁置或储存更改

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

> **TL;DR**
> 搁置更改： `Ctrl+Shift+U` (Windows), `⌘ ⇧ U` (macOS), `⌘ ⇧ U` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ U` (macOS System Shortcuts), `Ctrl+Shift+U` (XWin), `Ctrl+Shift+U` (GNOME), `Ctrl+Shift+U` (KDE), `Ctrl+Shift+U` (Emacs), `Ctrl+Shift+U` (Sublime Text), `⌘ ⇧ U` (Sublime Text (macOS)), `Ctrl+Shift+U` (Visual Studio), `⌘ ⇧ U` (Visual Studio (macOS)), `Ctrl+Shift+U` (NetBeans), `Ctrl+Shift+U` (Eclipse), `⌘ ⇧ U` (Eclipse (macOS))

有时您需要在不同任务之间切换而留下未完成的事情，然后再返回到它们。 为了在处理多个不同功能时不丢失您的工作，您可以搁置或临时保存未完成的更改。

## 暂存架 与 暂存

暂存变更与搁置非常相似。

* [Stashes](#stash) 是由 Git 生成的，您可以在 IntelliJ IDEA 内部或外部应用它们。

* 由 IntelliJ IDEA 生成的包含 [搁置](#shelve-unshelve-changes) 更改的补丁也通过 IDE 应用。

此外， [隐藏](#stash)涉及所有未提交的更改，而当您 [搁置](#shelve-unshelve-changes)更改时，您可以选择部分本地更改，而不是将它们全部搁置。

Procedure: 合并存储和搁置选项卡

如果要同时处理 [存储](#stash)和 [搁置](#shelve-unshelve-changes)，可以将   储藏  和   搁置  选项卡合并为一个。

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)) 打开设置并选择   版本控制 | Git | Stash  。

2. 启用   在一个标签页中合并储藏和搁置   选项。

在合并的选项卡中，可以同时处理 [已存储](#stash)和 [已搁置](#shelve-unshelve-changes)的更改。

![存储和搁置选项卡](https://resources.jetbrains.com/help/img/idea/2026.3/stashes_shelves.png)

## 搁置和取消搁置更改

储存  是暂时存储尚未提交的待处理更改。 例如，如果您需要切换到另一个任务，并且想暂时搁置您的更改以便稍后处理，这将非常有用。

使用 IntelliJ IDEA，您可以搁置单个文件和整个  变更列表 。

> **Note:**
> 您无法搁置未版本管理的文件，这些文件尚未 [添加到版本控制](adding-files-to-version-control.html#add-files-to-vcs)。

一旦暂存，更改可以根据需要多次应用。

Procedure: 搁置更改

1. 在   提交   工具窗口 ( `Alt+0` (Windows), `⌘ 0` (macOS), `⌘ 0` (IntelliJ IDEA Classic (macOS)), `⌘ 0` (macOS System Shortcuts), `Alt+0` (XWin), `Alt+0` (GNOME), `Alt+0` (KDE), `Alt+0` (Emacs), `Alt+0` (Sublime Text), `⌘ 0` (Sublime Text (macOS)), `Alt+0` (Visual Studio), `Alt+0` (Visual Studio (macOS)), `Alt+0` (NetBeans), `Alt+0` (Eclipse), `⌘ 0` (Eclipse (macOS)) ) 中，右键点击要搁置的文件或更改列表，然后从上下文菜单中选择   搁置更改  。

![正在搁置更改](https://resources.jetbrains.com/help/img/idea/2026.3/shelve-changes.png)

2. 在   搁置更改  对话框中，查看修改文件的列表。

![搁置对话框](https://resources.jetbrains.com/help/img/idea/2026.3/shelve_changes_shelve_dialog.png)

列表中的所有文件默认都被选中。 取消选择您不想搁置的文件。

|  条目  |  工具提示和快捷键  |  描述  |
| --- | --- | --- |
|  ![显示差异按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.vcs.diff.svg)  |     显示差异    `Ctrl+D` (Windows), `⌘ D` (macOS), `⌘ D` (IntelliJ IDEA Classic (macOS)), `⌘ D` (macOS System Shortcuts), `Ctrl+D` (XWin), `Ctrl+D` (GNOME), `Ctrl+D` (KDE), `Meta+D` (Emacs), `Ctrl+Shift+D` (Sublime Text), `⌘ ⇧ D` (Sublime Text (macOS)), `Ctrl+D` (Visual Studio), `⌘ D` (Visual Studio (macOS)), `Ctrl+D` (NetBeans), `Ctrl+D` (Eclipse), `Ctrl+D` (Eclipse (macOS))  |  打开 [差异](differences-viewer.html) 对话框，高亮显示所选文件的本地工作副本与其仓库版本之间的差异。  |
|  !["还原"图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.vcs.revert.svg)  |  还原  |  还原对所选文件本地工作副本所做的所有更改。  |
|  ![刷新按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.refresh.svg)  |     刷新更改    `Ctrl+F5` (Windows), `⌘ R` (macOS), `⌃ F5` (IntelliJ IDEA Classic (macOS)), `⌘ R` (macOS System Shortcuts), `Ctrl+F5` (XWin), `Ctrl+F5` (GNOME), `Ctrl+5` (KDE), `Ctrl+F5` (Emacs), `Ctrl+F5` (Sublime Text), `⌘ R` (Sublime Text (macOS)), `Ctrl+Alt+R` (Visual Studio), `⌘ ⌥ R` (Visual Studio (macOS)), `Ctrl+F5` (NetBeans), `Ctrl+F5` (Eclipse), `Ctrl+F5` (Eclipse (macOS))  |  单击此按钮可重新加载   更改的文件   树形视图，使其保持最新。  |
|  ![“分组依据”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.show.svg)  |  按以下内容分组  |  选择修改的文件分组方式 — 按目录或模块  |
|     !["全部展开"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.expandAll.svg)       ![全部折叠按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.collapseAll.svg)     |     展开或收起所有节点       `Ctrl+NumPad +` (Windows), `⌘ NumPad +` (macOS), `⌘ NumPad +` (IntelliJ IDEA Classic (macOS)), `⌘ NumPad +` (macOS System Shortcuts), `Ctrl+NumPad +` (XWin), `Ctrl+NumPad +` (GNOME), `Ctrl+NumPad +` (KDE), `Ctrl+NumPad +` (Emacs), `Ctrl+NumPad +` (Sublime Text), `⌘ NumPad +` (Sublime Text (macOS)), `Ctrl+NumPad +` (Visual Studio), `⌘ NumPad +` (Visual Studio (macOS)), `Ctrl+NumPad +` (NetBeans), `Ctrl+Shift+NumPad *` (Eclipse), `⌘ ⇧ NumPad *` (Eclipse (macOS))       `Ctrl+NumPad -` (Windows), `⌘ NumPad -` (macOS), `⌘ NumPad -` (IntelliJ IDEA Classic (macOS)), `⌘ NumPad -` (macOS System Shortcuts), `Ctrl+NumPad -` (XWin), `Ctrl+NumPad -` (GNOME), `Ctrl+NumPad -` (KDE), `Ctrl+NumPad -` (Emacs), `Ctrl+NumPad -` (Sublime Text), `⌘ NumPad -` (Sublime Text (macOS)), `Ctrl+NumPad -` (Visual Studio), `⌘ NumPad -` (Visual Studio (macOS)), `Ctrl+NumPad -` (NetBeans), `Ctrl+Shift+NumPad /` (Eclipse), `⌘ ⇧ NumPad /` (Eclipse (macOS))     |  点击这些按钮以展开或折叠目录树中的所有节点。 这些按钮在扁平视图中不可用。  |
|  更改列表  |  不适用  |     从此列表中选择包含要搁置的已修改文件的变更列表。 活动更改列表默认处于选中状态。     |

修改的文件   窗格下的摘要显示当前选定变更列表的统计信息，例如修改、新增和删除文件的数量。 该区域还显示每种类型的文件数量，以及其中有多少将被存储。

3. 在   提交消息   字段中，输入要创建的搁置的名称。

4. 在差异窗格中，您可以查看所选文件的基础存储库版本与您将要搁置的版本之间的差异。

|  条目  |  工具提示和快捷键  |  描述  |
| --- | --- | --- |
|  ![“上一个差异”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.up.svg)/ ![“下一个差异”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.down.svg)  |  上一个差异/下一个差异 `Shift+F7` (Windows), `⇧ F7` (macOS), `⇧ F7` (IntelliJ IDEA Classic (macOS)), `⌘ [` (macOS System Shortcuts), `Shift+F7` (XWin), `Shift+F7` (GNOME), `Shift+F7` (KDE), `Shift+F7` (Emacs), `Shift+F7` (Sublime Text), `⇧ F7` (Sublime Text (macOS)), `Shift+F7` (Visual Studio), `⇧ F7` (Visual Studio (macOS)), `Shift+F7` (NetBeans), `Shift+F7` (Eclipse), `⇧ F7` (Eclipse (macOS)) `F7` (Windows), `F7` (macOS), `F7` (IntelliJ IDEA Classic (macOS)), `⌘ ]` (macOS System Shortcuts), `F7` (XWin), `F7` (GNOME), `F7` (KDE), `F7` (Emacs), `F7` (Sublime Text), `F7` (Sublime Text (macOS)), `F7` (Visual Studio), `F7` (Visual Studio (macOS)), `F7` (NetBeans), `Ctrl+F7` (Eclipse), `⌃ F7` (Eclipse (macOS))  |     跳转到下一个或上一个差异。       到达最后一个或第一个差异时，IntelliJ IDEA 会建议再次点击箭头按钮或按 `F7` (Windows), `F7` (macOS), `F7` (IntelliJ IDEA Classic (macOS)), `⌘ ]` (macOS System Shortcuts), `F7` (XWin), `F7` (GNOME), `F7` (KDE), `F7` (Emacs), `F7` (Sublime Text), `F7` (Sublime Text (macOS)), `F7` (Visual Studio), `F7` (Visual Studio (macOS)), `F7` (NetBeans), `Ctrl+F7` (Eclipse), `⌃ F7` (Eclipse (macOS))/ `Shift+F7` (Windows), `⇧ F7` (macOS), `⇧ F7` (IntelliJ IDEA Classic (macOS)), `⌘ [` (macOS System Shortcuts), `Shift+F7` (XWin), `Shift+F7` (GNOME), `Shift+F7` (KDE), `Shift+F7` (Emacs), `Shift+F7` (Sublime Text), `⇧ F7` (Sublime Text (macOS)), `Shift+F7` (Visual Studio), `⇧ F7` (Visual Studio (macOS)), `Shift+F7` (NetBeans), `Shift+F7` (Eclipse), `⇧ F7` (Eclipse (macOS))，并比较其他本地修改的文件。 此行为取决于 [到达最后一个更改后转到下一个文件](settings-tools-diff-and-merge.html#last_diff) 选项，该选项位于 [差异查看器设置](settings-tools-diff-and-merge.html) 中。     |
|  ![“跳转到源”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.edit.svg)  |     跳转到源    `F4` (Windows), `⌘ ↓` (macOS), `F4` (IntelliJ IDEA Classic (macOS)), `F4` (macOS System Shortcuts), `F4` (XWin), `F4` (GNOME), `F4` (KDE), `F4` (Emacs), `F4` (Sublime Text), `F4` (Sublime Text (macOS)), `F4` (Visual Studio), `⌘ ↓` (Visual Studio (macOS)), `F4` (NetBeans), `F12` (Eclipse), `F3` (Eclipse (macOS))  |  在编辑器中打开选定的文件。 文本光标放置在与   差异查看器   中相同的位置。  |
|     ![后退](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.left.svg)       ![前进](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.right.svg)     |     比较上一个/下一个文件       `Alt+Left` (Windows), `⌘ ⇧ [` (macOS), `⌃ ←` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ←` (macOS System Shortcuts), `Alt+Left` (XWin), `Alt+Left` (GNOME), `Alt+Left` (KDE), `Alt+Left` (Emacs), `Ctrl+Page Up` (Sublime Text), `⌘ ⇧ [` (Sublime Text (macOS)), `Alt+Left` (Visual Studio), `⌘ ⇧ [` (Visual Studio (macOS)), `Ctrl+Page Up` (NetBeans), `Ctrl+Shift+F6` (Eclipse), `⌘ ⇧ F6` (Eclipse (macOS)) `Alt+Right` (Windows), `⌘ ⇧ ]` (macOS), `⌃ →` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ →` (macOS System Shortcuts), `Alt+Right` (XWin), `Alt+Right` (GNOME), `Alt+Right` (KDE), `Alt+Right` (Emacs), `Ctrl+Page Down` (Sublime Text), `⌘ ⇧ ]` (Sublime Text (macOS)), `Alt+Right` (Visual Studio), `⌘ ⇧ ]` (Visual Studio (macOS)), `Ctrl+Page Down` (NetBeans), `Ctrl+F6` (Eclipse), `⌘ F6` (Eclipse (macOS))     |     点击这些按钮，将上一个/下一个文件的本地副本与其来自服务器的更新进行比较。      > **Tip:** > 仅当所选更改列表中包含多个文件时，这些按钮才可用。    |
|     并排查看器／统一查看器     |     选择查看器模式: 并排或统一。 并排模式包含两个面板，统一模式包含一个面板。       您可以在两个查看器中编辑代码并执行   Accept  、   追加  、   还原   操作。       只能在并排查看器的右侧部分或统一查看器的下方行中更改文本。       您只能编辑文件的本地版本。 无法编辑处于只读状态的文件。     |
|  空格  |     定义差异查看器应如何处理空格。        * 无 ：空格很重要，并且所有差异都会高亮显示。 默认选中此选项。    * 修整空白 ：如果空格出现在行尾和行首，则将其去除（ `("\t", " ")` ）。 * 如果两行仅在行尾空格上存在差异，则这两行会被视为相同。 * 如果两行不同，则在 [按单词](#highlight) 模式下不会高亮显示行尾空格。    * 忽略空白 ：空格不重要，无论在源代码中的位置如何。    * 忽略空格和空行 ：忽略空格和空行。 以下实体将被忽略： * 所有空格（与“忽略空格”选项相同） * 所有仅由空格组成的已添加或已移除行 * 所有由拆分或合并行组成且未更改非空白部分的更改。 例如，在此模式下， `a b c` 和 `a \n b c` 之间的差异不会被高亮显示。    * 忽略导入和格式设置 ：将忽略 import 语句中的更改和空格（但字符串文字中的空格会被保留）。    |
|  高亮显示模式  |     选择差异粒度的高亮显示方式。       可用选项包括：        * 单词 ：已修改的单词将被高亮显示    * 行数 ：已修改的行将被高亮显示    * 拆分更改 ：如果选中此选项，较大的更改将拆分为较小的更改。 例如， `A \n B` 和 `A X \n B X` 将被视为两个更改，而不是一个。    * 字符 ：已修改的符号将被高亮显示    * 无 ：如果选中此选项，则完全不会高亮显示差异。 处理经过大幅修改的文件时，请使用 无 选项。 在此类情况下，高亮显示可能会在审阅期间带来额外困难。    |
|  ![收起未更改片段图标](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.collapseAll.svg)  |  收起未更改的片段  |  收起两个文件中的所有未更改片段。 不可折叠的未更改行数可在   差异 & 合并   设置页面中进行配置。 要打开   差异 & 合并   页面，请按 `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)) 打开设置并导航到  `工具 \| 差异 & 合并` 。 。  |
|  ![同步滚动](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.actions.synchronizeScrolling.svg)  |  同步滚动  |  同时滚动两个差异窗格。 如果释放此按钮，每个窗格都可以独立滚动。  |
|  ![禁用编辑图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.diff.lock.svg)  |  禁用编辑  |  启用对所选文件本地副本的编辑，默认情况下处于禁用状态。 启用编辑后，可以在提交前对已修改的文件进行最后更改。  |
|  ![齿轮图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.settings.svg)  |  编辑器设置  |  打开可用选项列表。 选择或清除这些选项，以显示或隐藏行号、缩进参考线、空白字符和软换行。  |
|  ![帮助图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.actions.help.svg)  |     帮助    `F1` (Windows), `⌘ ⇧ F1` (macOS), `F1` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ F1` (macOS System Shortcuts), `F1` (XWin), `F1` (GNOME), `F1` (KDE), `F1` (Emacs), `F1` (Sublime Text), `⌘ ⇧ F1` (Sublime Text (macOS)), `F1` (Visual Studio), `F1` (Visual Studio (macOS)), `F1` (NetBeans), `F1` (Eclipse), `⌘ ⇧ F1` (Eclipse (macOS))  |  打开浏览器并显示相应的帮助页面。  |

请注意，上述大多数选项仅适用于文本文件。 二进制文件的差异选项数量有限。

5. 点击   搁置更改   按钮。

您也可以静默搁置更改，不显示   搁置更改  对话框。 为此，请选择要搁置的文件或更改列表，然后点击工具栏上的 ![静默搁置](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.vcs.shelve.svg)   静默搁置  ，或按 `Ctrl+Shift+H` (Windows), `⌘ ⇧ H` (macOS), `⌘ ⇧ H` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ H` (macOS System Shortcuts), `Ctrl+Shift+H` (XWin), `Ctrl+Shift+H` (GNOME), `Ctrl+Shift+H` (KDE), `Ctrl+Shift+H` (Emacs), `Ctrl+Shift+H` (Sublime Text), `⌘ ⇧ H` (Sublime Text (macOS)), `Ctrl+Shift+H` (Visual Studio), `⌘ ⇧ H` (Visual Studio (macOS)), `Ctrl+Shift+H` (NetBeans), `Ctrl+Shift+H` (Eclipse), `⌘ ⇧ H` (Eclipse (macOS))。 您想要搁置的更改所包含的更改列表名称将用作搁置名称。

为避免最终出现许多同名搁置（例如   默认  ），可以将文件或更改列表从   提交   选项卡拖到   提交   工具窗口的   搁置   选项卡，等待一秒钟直到其激活，然后在释放鼠标按钮后编辑新的搁置名称。

> **Tip:**
> 如果您需要在不重置本地更改的情况下将更改复制到架子，请按 `Ctrl+Shift+A` (Windows), `⌘ ⇧ A` (macOS), `⌘ ⇧ A` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ P` (macOS System Shortcuts), `Ctrl+Shift+A` (XWin), `Ctrl+Shift+A` (GNOME), `Ctrl+Shift+A` (KDE), `Escape, X` (Emacs), `Ctrl+Shift+P` (Sublime Text), `⌘ ⇧ P` (Sublime Text (macOS)), `Ctrl+Shift+A` (Visual Studio), `⌘ ⇧ A` (Visual Studio (macOS)), `Ctrl+I` (NetBeans), `Ctrl+Shift+A` (Eclipse), `⌘ 3` (Eclipse (macOS)) 并查找   保存到搁置区   操作。

Procedure: 取消搁置更改

搁置操作是指将推迟的更改从搁置区移动到待处理的更改列表中。 未上架的更改可以从视图中过滤掉或从搁置上移除。

1. 在   搁置   选项卡中，选择您要取消搁置的更改列表或文件。

2. 按 `Ctrl+Shift+U` (Windows), `⌘ ⇧ U` (macOS), `⌘ ⇧ U` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ U` (macOS System Shortcuts), `Ctrl+Shift+U` (XWin), `Ctrl+Shift+U` (GNOME), `Ctrl+Shift+U` (KDE), `Ctrl+Shift+U` (Emacs), `Ctrl+Shift+U` (Sublime Text), `⌘ ⇧ U` (Sublime Text (macOS)), `Ctrl+Shift+U` (Visual Studio), `⌘ ⇧ U` (Visual Studio (macOS)), `Ctrl+Shift+U` (NetBeans), `Ctrl+Shift+U` (Eclipse), `⌘ ⇧ U` (Eclipse (macOS)) 或者从所选内容的上下文菜单中选择   取消搁置  。

3. 在   取消搁置更改  对话框中，指定您希望恢复已解除暂存更改的更改列表至   名称  字段。 您可以从列表中选择一个现有的变更列表，或者输入要创建的新变更列表的名称。 您可以在   注释  栏（可选）中输入新的更改列表的描述。

如果您想使新的 changelist 变为活动状态，请选择   设置为活动  。 否则，当前活跃的变更列表将继续保持活跃。

4. 如果希望 IntelliJ IDEA 在停用时保存与新更改列表关联的任务的  上下文 ，并在该更改列表变为活动时恢复上下文，请选择   跟踪上下文   选项（有关详细信息，请参阅 [任务和上下文](managing-tasks-and-context.html)）。

5. 如果您要删除即将搁置的更改，请选择   从搁置区移除已成功应用的文件  选项。 "取消上架的文件将从此搁置中移除，添加到另一个变更列表，并标记为已应用。" 只有通过从上下文菜单中选择   删除   明确删除后，才会将其完全移除。

> **Note:**
> 如果您不小心删除了未上架的文件，您可以从   最近删除   节点查看并恢复它们。

6. 点击   OK  。 如果修补版本和当前版本之间发生冲突，请按照 [解决 Git 冲突](resolve-conflicts.html)中所述进行解决。

您也可以在不显示   取消搁置更改  对话框的情况下静默恢复变更。 为此，选择要取消搁置的文件或更改列表，然后点击工具栏上的 ![“静默取消搁置”图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.vcs.unshelve.svg)   静默取消搁置  ，或按 `Ctrl+Alt+U` (Windows), `⌘ ⌥ U` (macOS), `⌘ ⌥ U` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ U` (macOS System Shortcuts), `Ctrl+Alt+U` (XWin), `Ctrl+Alt+U` (GNOME), `Ctrl+Alt+U` (KDE), `Ctrl+Alt+U` (Emacs), `Ctrl+Alt+U` (Sublime Text), `⌘ ⌥ U` (Sublime Text (macOS)), `Ctrl+Alt+U` (Visual Studio), `⌘ ⌥ U` (Visual Studio (macOS)), `Ctrl+Alt+U` (NetBeans), `Ctrl+Alt+U` (Eclipse), `⌘ ⌥ U` (Eclipse (macOS))。 未上架的文件将被移动到活动中的待定更改列表。

您也可以将文件或变更列表从   搁置  选项卡拖动到   提交  选项卡来静默取消搁置。 如果您在按住 `Ctrl` (Windows), `Ctrl` (macOS), `Ctrl` (IntelliJ IDEA Classic (macOS)), `Ctrl` (macOS System Shortcuts), `Ctrl` (XWin), `Ctrl` (GNOME), `Ctrl` (KDE), `Ctrl` (Emacs), `Ctrl` (Sublime Text), `Ctrl` (Sublime Text (macOS)), `Ctrl` (Visual Studio), `Ctrl` (Visual Studio (macOS)), `Ctrl` (NetBeans), `Ctrl` (Eclipse), `Ctrl` (Eclipse (macOS)) 键时拖动它，它将被复制到   提交   选项卡，并保留在架子上。

Procedure: 舍弃搁置的更改

1. 在   搁置  视图中，选择包含您不再需要保留的更改的更改列表。

2. 右键点击变更列表，然后从上下文菜单中选择   删除  或按 `Delete` (Windows), `Delete` (macOS), `Delete` (IntelliJ IDEA Classic (macOS)), `Delete` (macOS System Shortcuts), `Delete` (XWin), `Delete` (GNOME), `Delete` (KDE), `Delete` (Emacs), `Delete` (Sublime Text), `Delete` (Sublime Text (macOS)), `Delete` (Visual Studio), `Delete` (Visual Studio (macOS)), `Delete` (NetBeans), `Delete` (Eclipse), `Delete` (Eclipse (macOS))。

Procedure: 恢复未搁置的更改

IntelliJ IDEA 允许您在必要时重新应用已取消搁置的更改。 所有已取消搁置的更改都可以重复使用，直到通过从上下文菜单中选择   删除   明确移除为止。

1. 点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.show.svg)   显示  ，并确保   已取消搁置   选项已 ![已取消搁置](https://resources.jetbrains.com/help/img/idea/2026.3/app.com.intellij.ide.ui.laf.icons.intellij.checkmark.svg) 启用。

2. 请选择您要还原的文件或搁置。

3. 从所选内容的上下文菜单中选择   恢复  。

Procedure: 应用外部补丁

您可以导入在 IntelliJ IDEA 内外创建的补丁，并将其应用为搁置变更。

1. 在   搁置  视图中，从上下文菜单中选择   导入补丁  。

2. 在打开的对话框中，选择要应用的补丁文件。 所选的补丁会作为搁置项显示在   搁置  标签中。

3. 选择新添加的带补丁的代码架，然后从选择的上下文菜单中选择   取消搁置更改  。

Procedure: 自动存储基准修订版

配置 IntelliJ IDEA 始终搁置 Git 版本控制下文件的基准修订版可能会很有用。

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. 请选择   在分布式版本控制系统下搁置文件的基准修订版本  选项。

如果启用此选项，文件的基本修订版将被保存到一个架子中，在应用架子导致冲突时，该架子将在 [3-way merge](https://en.wikipedia.org/wiki/Merge_(version_control)#Three-way_merge)期间使用。 如果禁用，IntelliJ IDEA 将在项目历史记录中查找基础修订，这可能需要一些时间。 此外，发生冲突的搁置所基于的修订可能会丢失（例如，如果历史记录因变基操作而发生更改）。

Procedure: 更改默认搁置位置

默认情况下，搁置目录位于您的项目目录下。 不过，您可能希望更改默认的 搁置 位置。 例如，如果您想避免在清理您的工作副本时意外删除搁置，或者您想将它们存储在一个单独的仓库中，以便搁置在您的团队成员之间共享，这可能会很有用。

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. 点击   更改 Shelves 位置  并在打开的对话框中指定新位置。

3. 如有必要，请选择   将搁置移动到新位置  将现有的架子移动到新目录。

观看本视频教程，了解如何利用 搁置 切换到其他任务而不丢失未完成的工作：

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

## 储藏更改

有时，您可能需要将您的工作副本恢复到与 HEAD 提交匹配，但您不想失去已经完成的工作。 这可能会发生在您得知有上游更改可能与您正在进行的工作相关时，或者如果您需要进行一些紧急修复。

储藏涉及记录 HEAD 提交和工作目录当前状态（储藏）之间的差异。 索引的更改也可以暂存。

应用存储的 stash 到分支上称为 unstashing。

您可以将暂存应用到现有分支，或在此基础上创建一个新分支。

您可以根据需要将存储应用到任何分支， [切换到需要的分支](manage-branches.html#switch-branches)即可。 请记住：

* 在一系列提交后应用暂存会导致需要解决的冲突。

* 不能将存储应用到“脏”工作副本，即包含未提交更改的工作副本。

Procedure: 保存更改到存储区域

1. 在   提交   工具窗口（ `Alt+0` (Windows), `⌘ 0` (macOS), `⌘ 0` (IntelliJ IDEA Classic (macOS)), `⌘ 0` (macOS System Shortcuts), `Alt+0` (XWin), `Alt+0` (GNOME), `Alt+0` (KDE), `Alt+0` (Emacs), `Alt+0` (Sublime Text), `⌘ 0` (Sublime Text (macOS)), `Alt+0` (Visual Studio), `Alt+0` (Visual Studio (macOS)), `Alt+0` (NetBeans), `Alt+0` (Eclipse), `⌘ 0` (Eclipse (macOS))）中，右键点击以打开上下文菜单，然后选择  `Git | 储藏更改` 。

![上下文菜单中的“存储更改”选项](https://resources.jetbrains.com/help/img/idea/2026.3/git_stash.png)

2. 在打开的   储藏  窗口中，选择适当的 Git 根目录，并确保签出的分支是正确的。

3. 在   消息   字段中描述您将要存储的更改。

4. 要储存本地更改并将暂存区中的更改带到您的工作树进行检查和测试，请选择   保留 index   选项。

5. 点击   创建储藏  。

已存储的更改将移动到同一   提交   工具窗口中   提交   选项卡旁边的   储藏   选项卡。

Procedure: 查看储藏的更改并应用储藏

1. 在   提交   工具窗口（ `Alt+0` (Windows), `⌘ 0` (macOS), `⌘ 0` (IntelliJ IDEA Classic (macOS)), `⌘ 0` (macOS System Shortcuts), `Alt+0` (XWin), `Alt+0` (GNOME), `Alt+0` (KDE), `Alt+0` (Emacs), `Alt+0` (Sublime Text), `⌘ 0` (Sublime Text (macOS)), `Alt+0` (Visual Studio), `Alt+0` (Visual Studio (macOS)), `Alt+0` (NetBeans), `Alt+0` (Eclipse), `⌘ 0` (Eclipse (macOS))）中，打开   储藏   选项卡。

![存储选项卡](https://resources.jetbrains.com/help/img/idea/2026.3/stash_tab.png)

2. 从存储列表中选择要应用的存储。

要查看储藏的更改并将其与代码的当前版本进行比较，请在列表中双击任意文件以打开储藏的差异。

![差异选项卡](https://resources.jetbrains.com/help/img/idea/2026.3/compare_stash.png)

要在单独的窗口中打开差异，请在差异窗格中点击 ![齿轮图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.settings.svg)   设置   并选择   在单独窗口中显示差异  。

> **Tip:**
> 当   提交   工具窗口（ `Alt+0` (Windows), `⌘ 0` (macOS), `⌘ 0` (IntelliJ IDEA Classic (macOS)), `⌘ 0` (macOS System Shortcuts), `Alt+0` (XWin), `Alt+0` (GNOME), `Alt+0` (KDE), `Alt+0` (Emacs), `Alt+0` (Sublime Text), `⌘ 0` (Sublime Text (macOS)), `Alt+0` (Visual Studio), `Alt+0` (Visual Studio (macOS)), `Alt+0` (NetBeans), `Alt+0` (Eclipse), `⌘ 0` (Eclipse (macOS))）被向下拖动到工具窗口栏底部并变为水平时，也可以通过点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.previewVertically.svg)   差异预览   打开差异窗格。
>
>
>
> ![带差异预览的水平提交工具窗口](https://resources.jetbrains.com/help/img/idea/2026.3/diff_preview_in_horizontal_stash.png)

3. * 点击 应用 以应用所选存储并将其保留在列表中。

* 点击 弹出 以应用所选存储并将其从列表中移除。

4. 可以基于所选存储创建新分支，而不是将其应用到当前检出的分支。

右键点击存储以打开上下文菜单，然后选择   取消储藏  。

在   作为新分支   字段中输入该分支的名称。

若要同时应用暂存的索引修改，请选择   恢复索引  选项。

点击   应用储藏  。

要移除存储，请在列表中将其选中，右键点击以打开上下文菜单，然后选择   丢弃  。 要移除所有存储，请选择   清除  。

> **Note:**
> 如果您有冲突，此操作可能会失败。 这是因为冲突存储在索引中，您无法再以其原始状态应用更改。

## See also

### 参考

[版本控制窗口](version-control-tool-window.html)

