一、切分支引发的代码丢失事故
今天在进行分支切换的时候,想切换到目标分支的时候出现了smart Checkout与force checkout两个选项,在我选择了smart Checkout的时候显示切换分支失败了,而force checkout时提示我将会覆盖部分目标分支的文件。果不其然,我目标分支的许多修改后的代码都消失了。
二、代码丢失的原因是?
使用git进行代码版本管理,当我们切换分支有时会遇到这样的问题:
这是因为在当前分支修改了代码,但是没有commit,所以在切换到其他分支的时候会弹出这个窗口,提示你选force checkout或者smart checkout。那该怎样处理呢?
don`t checkout 是不切分支,继续留在当前分支;
smart checkout会把冲突的这部分内容带到目的分支(如果你没有点进窗口的那些文件处理冲突的话);
force checkout就不会把冲突的这部分内容带到目的分支!!!但是你在当前分支修改的所有内容都会丢失,就算你再切回来会找不到,需要慎重操作。
force checkout后丢失代码找回 可以通过以下步骤找回代码(找回后需要自行检查有无错漏)
三、解决方法
1.在项目文件夹右键。点击local history->show history
2.接着找到checkout前的时间
3.右键选项后点击revert
四、总结
温馨提示!要养成提交代码的习惯,如果出现分支无法切换的情况,尽量不要动本地的代码,可以重新到远程仓库去拉去一份新的代码切换分支。仅供参考,如果大家有更好的恢复方法,可以在评论区评论或者私信,感谢大家!