搁置和取消搁置更改
搁置临时存储您尚未提交的待处理更改。这很有用,例如,如果您需要切换到另一个任务,并且您想将所做的更改放在一边以便以后处理它们。
使用 WebStorm,您可以搁置单独的文件和整个变更列表。
搁置后,可以根据需要多次应用更改。
搁置更改
在“ 提交工具”窗口Alt+0中,右键单击要放入搁架的文件或更改列表,然后从上下文菜单中选择搁置更改。
在“搁置更改”对话框中,查看已修改文件的列表。
在Commit Message字段中,输入要创建的架子的名称,然后单击Shelve Changes按钮。
您也可以静默搁置更改,而不显示搁置更改对话框。为此,请选择要搁置的文件或更改列表,然后单击工具栏上的静默搁置图标,或按Ctrl+Shift+H。包含您要搁置的更改的更改列表的名称将用作搁架名称。
为避免出现许多同名的架子(例如Default),您可以将文件或更改列表从Local Changes视图拖到Shelf选项卡,等待一秒钟直到它被激活,然后编辑新架子释放鼠标按钮时即时命名。
取消搁置更改
取消搁置是将推迟的更改从架子移到待处理的更改列表。未搁置的更改可以从视图中过滤掉或从搁架中删除。
在“搁置”选项卡中,选择更改列表或要取消搁置的文件。
按下Ctrl+Shift+U或从所选内容的上下文菜单中选择取消搁置。
在Unshelve Changes对话框中,在Name字段中指定要将未搁置的更改恢复到的更改列表。您可以从列表中选择现有更改列表,或输入要创建的包含未搁置更改的新更改列表的名称。您可以在Comment字段中输入新更改列表的描述(可选)。
如果要使新的更改列表处于活动状态,请选择Set active。否则,当前活动的更改列表保持活动状态。
如果您希望 WebStorm 在停用时保留与新更改列表关联的任务的上下文,并在更改列表变为活动状态时恢复上下文,请选择跟踪上下文选项(有关详细信息,请参阅任务和上下文)。
如果要删除您将要取消搁置的更改,请选择从搁架中删除成功应用的文件选项。未搁置的文件将从该搁架中删除并添加到另一个更改列表并标记为已应用。在通过单击工具栏或从上下文菜单中选择Clean Already Unshelved明确删除之前,它们不会被完全删除。
单击确定。如果修补版本和当前版本之间发生冲突,请按照解决冲突中的说明解决。
您也可以静默取消搁置更改,而不显示“取消搁置更改”对话框。为此,请选择要取消搁置的文件或更改列表,然后单击工具栏上的Unshelve Silently图标,或按Ctrl+Alt+U。未搁置的文件将被移动到活动的挂起更改列表。
您还可以将文件或更改列表从Shelf选项卡拖到Local Changes视图以静默地取消搁置它。如果您按住Ctrl键拖动它,它将被复制到“本地更改”选项卡,而不是从架子上删除。
放弃搁置的更改
在书架视图中,选择包含您不想再保留的更改的更改列表。
右键单击它并从上下文菜单中选择删除Delete,或按。
恢复未搁置的更改
WebStorm 允许您在必要时重新应用未搁置的更改。所有未搁置的更改都可以重复使用,直到通过单击工具栏上的图标或从上下文菜单中选择Clean Already Unshelved明确删除它们。
确保启用了“显示已搁置”工具栏选项。
选择要恢复的文件或架子。
从选择的上下文菜单中,选择恢复。
应用外部补丁
您可以导入在 WebStorm 内部或外部创建的补丁,并将它们作为搁置的更改应用。
在Shelf视图中,从上下文菜单中选择Import Patches 。
在打开的对话框中,选择要应用的补丁文件。选定的 Patch 在Shelf选项卡中显示为一个架子。
选择带有补丁的新添加的架子,然后从选择的上下文菜单中选择取消搁置更改。
自动搁置基础修订
将 WebStorm 配置为始终搁置受 Git 版本控制的文件的基本修订可能很有用。
按Ctrl+Alt+S打开 IDE 设置并选择版本控制 | 架子。
选择在分布式版本控制系统下搁置文件的基本修订选项。
如果启用此选项,则文件的基本修订版将保存到一个架子中,如果应用架子导致冲突,该架子将在3 路合并期间使用。如果禁用,WebStorm 将在项目历史中查找基础修订,这可能需要一段时间;此外,冲突货架所基于的修订可能会丢失(例如,如果历史记录因变基操作而更改)。
更改默认货架位置
默认情况下,shelf 目录位于您的项目目录下。但是,您可能想要更改默认的货架位置。这可能很有用,例如,如果您想在清理工作副本时避免意外删除书架,或者如果您想将它们存储在单独的存储库中,以便在团队成员之间共享书架。
按Ctrl+Alt+S打开 IDE 设置并选择版本控制 | 架子。
单击更改货架位置并在打开的对话框中指定新位置。
如有必要,选择将架子移到新位置以将现有架子移动到新目录。
观看此视频教程,了解如何从书架中受益,以便能够在不丢失未完成工作的情况下切换到不同的任务: