搁置或储存更改
有时您需要在不同任务之间切换而留下未完成的事情,然后再返回到它们。 为了在处理多个不同功能时不丢失您的工作,您可以搁置或临时保存未完成的更改。
暂存架 与 暂存
暂存变更与搁置非常相似。
此外, 隐藏涉及所有未提交的更改,而当您 搁置更改时,您可以选择部分本地更改,而不是将它们全部搁置。
合并存储和搁置选项卡
搁置和取消搁置更改
储存 是暂时存储尚未提交的待处理更改。 例如,如果您需要切换到另一个任务,并且想暂时搁置您的更改以便稍后处理,这将非常有用。
使用 IntelliJ IDEA,您可以搁置单个文件和整个 变更列表。
一旦暂存,更改可以根据需要多次应用。
搁置更改
在 提交 工具窗口 Alt+0 中,右键点击您想要搁置的文件或变更列表,然后从上下文菜单中选择 搁置更改。

在 搁置更改 对话框中,查看修改文件的列表。
在 提交消息 字段中,输入要创建的搁置名称,然后点击 搁置更改 按钮。
您也可以静默搁置更改,不显示 搁置更改 对话框。 为此,选择您想要搁置的文件或更改列表,然后点击工具栏上的 静默搁置 或按 Ctrl+Shift+H。 您想要搁置的更改所包含的更改列表名称将用作搁置名称。
为了避免出现许多名称相同的搁置(例如 默认 ),您可以将文件或更改列表从 提交 选项卡拖到 搁置 选项卡的 提交 工具窗口,等待其激活后,松开鼠标按钮并编辑新的搁置名称。
取消搁置更改
搁置操作是指将推迟的更改从搁置区移动到待处理的更改列表中。 未上架的更改可以从视图中过滤掉或从搁置上移除。
在 Shelf选项卡中,选择您要恢复的更改列表或文件。
按 Ctrl+Shift+U 或者从所选内容的上下文菜单中选择 取消搁置。
在 取消搁置更改 对话框中,指定您希望恢复已解除暂存更改的更改列表至 名称 字段。 您可以从列表中选择一个现有的变更列表,或者输入要创建的新变更列表的名称。 您可以在 评论 栏(可选)中输入新的更改列表的描述。
如果您想使新的 changelist 变为活动状态,请选择 设为活动。 否则,当前活跃的变更列表将继续保持活跃。
如果您希望 IntelliJ IDEA 在任务停用时保存与新变更列表相关联的 上下文 ,并在变更列表激活时恢复上下文,请选择 跟踪上下文 选项(有关详情请参阅 任务与上下文)。
如果您要删除即将搁置的更改,请选择 从 Shelf 移除成功应用的文件 选项。 "取消上架的文件将从此搁置中移除,添加到另一个变更列表,并标记为已应用。" 它们不会被完全移除,直到通过上下文菜单中选择 删除 明确删除为止。
点击 OK。 如果修补版本和当前版本之间发生冲突,请按照 解决 Git 冲突 中所述进行解决。
您也可以在不显示 取消搁置更改 对话框的情况下静默恢复变更。 为此,选择您想要取消搁置的文件或更改列表,然后点击工具栏上的 无提示恢复 或按 Ctrl+Alt+U。 未上架的文件将被移动到活动中的待定更改列表。
您也可以将文件或变更列表从 搁置 选项卡拖动到 提交 选项卡来静默取消搁置。 如果您在按住 Ctrl 键时拖动它,它将被复制到 提交 选项卡,并保留在架子上。
舍弃搁置的更改
在 搁置 视图中,选择包含您不再需要保留的更改的更改列表。
右键点击变更列表,然后从上下文菜单中选择 删除 或按 Delete。
恢复未搁置的更改
IntelliJ IDEA 允许您在必要时重新应用已取消搁置的更改。 所有已取消搁置的更改都可以重复使用,直到通过上下文菜单中选择 删除 明确移除为止。
点击
显示 ,并确保 已取消搁置 选项
已启用。
请选择您要还原的文件或搁置。
从所选内容的上下文菜单中选择 还原。
应用外部补丁
您可以导入在 IntelliJ IDEA 内外创建的补丁,并将其应用为搁置变更。
在 搁置 视图中,从上下文菜单中选择 导入补丁。
在打开的对话框中,选择要应用的补丁文件。 所选的补丁会作为搁置项显示在 搁置 标签中。
选择新添加的带补丁的代码架,然后从选择的上下文菜单中选择 取消搁置更改。
自动存储基准修订版
配置 IntelliJ IDEA 始终搁置 Git 版本控制下文件的基准修订版可能会很有用。
按 Ctrl+Alt+S 打开设置,然后选择 。
请选择 在分布式版本控制系统下搁置文件的基准修订版本 选项。
如果启用此选项,文件的基本修订版将被保存到一个架子中,在应用架子导致冲突时,该架子将在 3-way merge期间使用。 如果该选项被禁用,IntelliJ IDEA 将在项目历史中查找基准版本,这可能需要一些时间。 此外,发生冲突的暂存版本所基于的版本可能已丢失(例如,如果由于变基操作而更改了历史记录)。
更改默认搁置位置
默认情况下,搁置目录位于您的项目目录下。 不过,您可能希望更改默认的 搁置 位置。 例如,如果您想避免在清理您的工作副本时意外删除搁置,或者您想将它们存储在一个单独的仓库中,以便搁置在您的团队成员之间共享,这可能会很有用。
按 Ctrl+Alt+S 打开设置,然后选择 。
点击 更改 Shelves 位置 并在打开的对话框中指定新位置。
如有必要,请选择 将搁置移至新位置 将现有的架子移动到新目录。
观看本视频教程,了解如何利用 搁置 切换到其他任务而不丢失未完成的工作:
储藏更改
有时,您可能需要将您的工作副本恢复到与 HEAD 提交匹配,但您不想失去已经完成的工作。 这可能会发生在您得知有上游更改可能与您正在进行的工作相关时,或者如果您需要进行一些紧急修复。
储藏涉及记录 HEAD 提交和工作目录当前状态(储藏)之间的差异。 索引的更改也可以暂存。
应用存储的 stash 到分支上称为 unstashing。
您可以将暂存应用到现有分支,或在此基础上创建一个新分支。
您可以根据需要将存储应用到任何分支, 切换到需要的分支即可。 请记住:
在一系列提交后应用暂存会导致需要解决的冲突。
您不能将缓存应用于“脏”的工作副本,也就是有未提交更改的工作副本。
保存更改到存储区域
在 提交 工具窗口 Alt+0 中,右键点击以打开上下文菜单,然后选择 。

在打开的 隐藏 窗口中,选择适当的 Git 根目录,并确保签出的分支是正确的。
在 消息 字段中描述您将要存储的更改。
要储存本地更改并将暂存区中的更改带到您的工作树进行检查和测试,请选择 保留 index 选项。
点击 创建隐藏。
存储的更改将被移动到 隐藏 选项卡,位于 提交 选项卡旁边的同一 提交 工具窗口中。
应用存储
在 提交 工具窗口 Alt+0 中,打开 隐藏 选项卡。

从存储列表中选择您想要应用的存储。
如果您想检查存储文件中的更改,请双击列表中的任何文件以打开存储的差异。
点击 应用 以应用所选存储并将其保留在列表中。
点击 弹出 以应用所选存储并将其从列表中移除。
您可以基于所选存储创建一个新分支,而不是将其应用到当前检出的分支。
右键点击存储以打开上下文菜单并选择 取消隐藏。
在 作为新分支 字段中输入该分支的名称。
若要同时应用暂存的索引修改,请选择 恢复索引 选项。
点击 应用隐藏。
要移除存储,请在列表中选择它,右键点击以打开上下文菜单并选择 删除。 要移除所有存储,请选择 清除。
