Git中smart Checkout与force checkout

一、切分支引发的代码丢失事故

今天在进行分支切换的时候,想切换到目标分支的时候出现了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

四、总结

温馨提示!要养成提交代码的习惯,如果出现分支无法切换的情况,尽量不要动本地的代码,可以重新到远程仓库去拉去一份新的代码切换分支。仅供参考,如果大家有更好的恢复方法,可以在评论区评论或者私信,感谢大家!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值