在实际项目开发中,当我们一个功能没有开发完成,这时需要优先处理当前项目下别的问题,为了避免不同功能的代码修改混在一起,常把未完成的修改提交到一个本地的新分支或者新建一个本地分支用于处理优先问题。

IDEA提供了shelf功能,翻译过来就是架子,即存放更改的地方。

在Version Control中的Local Changes标签,右键可以使用shelve changes将当前修改回退并暂存下来,并可以起个名字备忘。等其他问题处理完提交了,再Unshelve就可以将项目之前的修改还原,并且可以在不同的分支上还原,可以说非常方便。

如果是第一次存放修改是看不到Shelf标签的,只有当Shelf中存有修改的时候才能看到。

暂存的修改可以使用导入和导出Patch文件,常用于分享或保存代码修改,不过注意导入的时候要是同一个项目,至于导入到别的项目会发生什么事我也没试过。

官方说明:https://www.jetbrains.com/help/idea/shelving-and-unshelving-changes.html