当我们使用git进行代码版本管理时,如果本地有多个并行开发的需求的话,我们会时不时地切换不同的分支。当我们基于当前分支做了一些改动,但是并没有执行git
commit命令的话,这时如果我们想直接git checkout到另外的分支,那么idea就会弹窗提醒我们,选force checkout或者smart checkout。
git checkout如果未提交本地代码。则会提示你选force checkout或者smart checkout。
smart checkout会把本地修改的代码先保存到statsh中,再checkout分支。
force checkout在当前分支修改的所有内容都会丢失,只能用以下步骤找回代码(找回后需要自行检查是否有错漏)
所以保险起见我们一般都是选择smart checkout。
force checkout后可以通过以下步骤找回丢失的代码
1.在项目文件夹右键。点击local history->show history
2.接着找到checkout前的时间
3.右键选项后点击revert或者点击具体的类进行比较分析,把丢失的代码移动过来