场景:在dev2分支改变代码后不commit到本地,就切换到dev分支。之后回到dev2分支还能找回之前的改变代码,怎么做?
1、在dev2点击Stash Changes,填写Message,最后点Create Stash。发现改变的代码会还原,也就是说idea左侧栏的Commit会显示没有文件被改变。
例如在dev2 将这行代码: System.out.println(“dev2没改动”); 改为System.out.println(“dev2改动了”);
第一步完成后这行代码会还原为 System.out.println(“dev2没改动”);
2、之后可以check out dev,切换到dev分支;
3、check out到dev2分支,点击Untash Changes,勾选Pop stash(还原后会删除这个stash), 最后点Pop Stash。发现之前在dev2改变的代码回来了。idea左侧栏的Commit就会显示有文件被改变了。
第三步完成后,这行代码回到 System.out.println(“dev2改动了”);
这样操作在idea的Git的记录上不显示,建议在一个分支上撤回改变后又可以恢复改变就用Stash方法。
如果在dev2用commit提交到本地来保存改变的代码之后切换回dev分支,也不方便在dev2去撤回本地提交的代码。
Stash Changes和UnStash Changes 按键所在位置: