idea Git之Smart Checkout、Force Checkout

IDEA当在一个分支上修改了内容没有提交,然后切换到其他分支时,可能会发生冲突。

这时IDEA会弹出提示,问你要选择Smart Checkout还是Force Checkout.

如果想保留你在原分支上的修改内容,那么选择Smart Checkout,

Force Checkout不会保留你的修改,切到另一个分支内容就消失了,且切回来原来分支也找不回,白写了。

don`t checkout 当然是不切分支,继续留在当前分支了

Smart Checkout 原理:

        选择Smart Checkout,IDEA会先执行stash命令,贮存这些未提交的修改,然后checkout 到分支B,在切换到分支B后,unstash 这些修改,所以A分支本地的这些修改会带到B分支上。
 

 Force Checkout后的解决办法:

        如果发生切到另一个分支,修改内容就消失的问题,可以依赖idea的local hsitory 功能将修改代码找回。(即idea会保存本地文件的修改历史,不依赖于git),示例如下:

1、找到修改过的文件,右键 -- Local Hsitory -- Show Hsitory

 2、根据文件的历史记录,找到丢失的代码,将其合到本地代码中(合并逻辑与idea中git合并代码类似)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值