IDEA_Shelve代码搁置与恢复
日常开发中,经常会遇到在当前分支开发到一半,但是需要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功能的一个使用介绍,有问题可以留言,看到必回。
IDEA_Shelve代码搁置与恢复的更多相关文章
- SQL Server安全(6/11):执行上下文与代码签名(Execution Context and Code Signing)
在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...
- mysql 恢复
一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 二.备份需要考虑的问题 可以容忍丢失多长时间的数据:恢复数据要在多长时间内 ...
- 反混淆:恢复被OLLVM保护的程序
译者序: OLLVM作为代码混淆的优秀开源项目,在国内主流app加固应用中也经常能看到它的身影,但是公开的分析研究资料寥寥.本文是Quarkslab团队技术博客中一篇关于反混淆的文章,对OLLVM项目 ...
- X86驱动:恢复SSDT内核钩子
SSDT 中文名称为系统服务描述符表,该表的作用是将Ring3应用层与Ring0内核层,两者的API函数连接起来,起到承上启下的作用,SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用 ...
- chrome79开发者工具代码高亮失效的解决办法
升级chrome最新版本后,存在开发者工具Sources内代码高亮失效的情况 解决办法: 1. 开发者工具面板右上角菜单->Setting->Preferences 2. 将Theme切换 ...
- git恢复彻底删除的分支
由于一时疏忽,错误的删除了未发布正式的开发分支,经查资料已恢复分支,特此记录 查看Git日志 git reflog |grep 'filter_or_gwf' 以下日志为已删除分支 filter_or ...
- [转载]基于TFS实践敏捷-Scrum模式运用
根据Forrester Research今年第二季度的一份研究报告,在超过1000名专业开发人员中,采用敏捷模式进行软件开发的已经有10.9%采用了Scrum模式,在所有的敏捷开发模式中名列首位,而在 ...
- Mac svn使用学习-4-客户端cli命令详解
客户端cli的使用 WC:Working Copy 你的工作区 将文件或目录版本化,这样下一次提交到存储库的时候,他们就都会被提交上去.能实现版本化的命令有: add 1.import 是否访问存储库 ...
- [转]基于Visual Studio 2010 进行敏捷/Scrum模式开发
http://www.infoq.com/cn/articles/visual-studio-2010-agile-scrum-development 根据Forrester Research今年第二 ...
随机推荐
- C踩坑纪实——(一)
最近在项目过程中发现了几个c语言中没有注意到的小细节,成功入坑.下面记录的我遇到的问题,以及解决的方法,希望这个过程能给读者带来些许启发. 字符类型变量的溢出 首先来看下面这段代码,你认为会输出什么呢 ...
- Csrf+Xss组合拳
本文首发于“合天智汇”公众号,作者: 影子 各位大师傅,第一次在合天发文章,请多多关照 今年年初的疫情确实有点突然,打乱了上半年的所有计划(本来是校内大佬带我拿奖的时刻,没了 ,学长毕业了,就剩下我这 ...
- linux创建逻辑卷(lv)并挂载
新加磁盘启动系统后,查看现有磁盘使用情况 命令 df -h 查看现有磁盘情况,我们发现系统已经有一个10G的磁盘sdb,这个磁盘共有1305个柱面,每个柱面大小是8225280 bytes (大约8M ...
- linux 命令行 拯救萌新精简版
装上linux 真机而不会命令行简直是太难了(这是什么人间疾苦) 于是,来几个非常基础的命令行,给(像我这样)的萌新们一点点前进的动力,也给奋斗在linux路上的大佬们一点点来自萌新的敬意吧. 一个非 ...
- 你一个 F12 能秒我?
参考文章 思路决定成败:F12给了我黑色的眼睛我却用它来挖洞 前言 了解大佬的思路才知道自己现在学的到底有多浅. 还没有到点,我就已经进入状态了,生而为人,我很抱歉. F12 的骚操作 Element ...
- PHP array_intersect_uassoc() 函数
实例 比较两个数组的键名和键值(使用用户自定义函数比较键名),并返回交集: <?phpfunction myfunction($a,$b){if ($a===$b){return 0;}retu ...
- PHP imageantialias - 是否使用抗锯齿(antialias)功能
imageantialias — 是否使用抗锯齿(antialias)功能.高佣联盟 www.cgewang.com 语法 bool imageantialias ( resource $image ...
- CF804D Expected diameter of a tree 树的直径 根号分治
LINK:Expected diameter of a tree 1e5 带根号log 竟然能跑过! 容易想到每次连接两个联通快 快速求出直径 其实是 \(max(D1,D2,f_x+f_y+1)\) ...
- C#与网络相关的两个监听的事件
今天遇到一个问题,当网络连接有问题的时候设计软件向用户发送通知,查了资料发现了两个相关的事件分享一下. 一.System.Net.NetworkInformation命名空间下的NetworkChan ...
- python程序设计PDF高清完整版免费下载|百度云盘
百度云盘:python程序设计PDF高清完整版免费下载 提取码:bvsz Python 程序设计基础难易程度适中.除Python应用开发基础知识之外,还适当介绍了Python标准库以及内置对象的工作原 ...