日常开发中,经常会遇到在当前分支开发到一半,但是需要Checkout上个版本解决bug或调查问题的情况。这个时候,我们是将代码提到Push远程?还是直接Rollback?

最理想的做法,就是将当前的开发分支修改的代码暂存起来,然后将开发分支恢复到最初的状态,再切换到我们需要的分支去处理问题,处理完成后,我们还可以切换到开发分支上,将暂存的代码恢复回来,继续开发。

在IDEA中,就有一个这样的功能,叫做Shelve Changes。Shelve的中文意思是“搁置;将。。。放到架子上”,看到它的中文含义,相信读者会更加明白它的作用。

Shelve使用起来很简单,在IDEA下方的Git面板中(IDEA 2020中是Git,2020版本之前是VersionController),有一个部分叫做Local Changes,这里面是我们在当前分支做的所有的修改,如下:




在Local Changes中,我们可以自行选择需要搁置的代码(可以多选),然后右键选择“Shelve Changes”,如下:




在弹出的Shelve Changes窗口中,需要填写一下搁置备注(方便以后确认需要恢复的代码,很贴心的功能),最后点击【Shelve Changes】按钮即可将代码搁置起来,如下:




代码搁置完成后,我们可以在Git面板中的Shelf中,查看被搁置起来的代码,如下:




当开发分支的已修改代码都被搁置的时候,就可以直接切换分支了,不需Push或Rollback了。

如果想要将被搁置的代码恢复,只需要选中被搁置的代码,然后右键选择“UnShelve Changes”即可,再弹出的“UnShelve Changes”窗口中,直接点击【UnShelve Changes】按钮即可恢复代码,如下:






当然,我们也可以直接将被搁置的代码删除掉,如下:




但是如果搁置代码没有恢复,那么被删除的搁置代码不就没了吗?难道还要重新开发?IDEA贴心就在于,被误删除的搁置代码可以在“Recently Deleted”中找到并恢复,绝对的手残友好党...如下:






当然,在“Recently Deleted”还可以再一次进行删除操作,这次删除,可就真的删除了,找不回来的...如下:




以上就是IDEA中很实用的Shelve功能的一个使用介绍,有问题可以留言,看到必回。

最新文章

  1. Strus2第一次课:dom4j解析xml文档
  2. Delphi ini文件读写
  3. Yii2修改默认布局
  4. 利用phpmyadmin设置mysql主从同步(或者备份)
  5. JS中exec函数与match函数的区别与联系
  6. 在delphi下TClientSocket的使用技巧 转
  7. C语言中输入输出格式控制
  8. HDOJ 1393 Weird Clock(明白题意就简单了)
  9. eclipse、MyEclipse实现批量改动文件编码
  10. ROS wiki 学习(1)创建程序包时遇到的rosdep update出错
  11. DataBase MongoDB高级知识-易使用
  12. vue源码入口文件分析
  13. [WC 2010]重建计划
  14. android开发学习 ------- 关于getSupportFragmentManager()不可用的问题
  15. Python argparse用法
  16. YAML文件格式_k8s/docker-compose配置文件
  17. 吴裕雄 python深度学习与实践(12)
  18. 微信小程序选择图片,查看图片信息,浏览图片,图片上传
  19. Python之路,第十篇:Python入门与基础10
  20. 远程批量查看windosws操作系统3389端口的开放情况

热门文章

  1. 网络通信机制:Socket、TCP/IP、HTTP
  2. PHP array_diff_assoc() 函数
  3. PHP stat() 函数
  4. CentOS中配置NFS
  5. 使用jsdelivr + GitHub + PicGo搭建免费图床
  6. JAVA设计模式 5【结构型】代理模式的理解与使用
  7. python程序设计PDF高清完整版免费下载|百度云盘
  8. Spring学习总结(5)-Spring依赖关系
  9. python5.1文件的读取
  10. Qt编译出现cc1plus.exe: out of memory allocating 65536 bytes问题