GIT 版本冲突之Git Checkout problem

        大师我今天在提交代码后,留下了数据库配置文件没有提交,然后checkout到其他分支,出现了git checkout problem 的弹框

我很不解,每次都让我选择Force checkout smart checkout  dont checkout,最后仔细研究了一下这三个按钮

  1. Smart checkout:当前分支未提交的代码会被带到你要切换的那个分支上去
  2. Force checkout:当前分支未提交的代码不会带到你要切换的那个分支上去,而是搁置到一边,还是保留在当前分支
  3. don`t checkout:不进行分支切换,还是留在当前分支

        这里说明一下,如果当前分支有未提交代码切换到其他分支会有什么问题:

        第一种情况: 当我们在A分支提交完代码后剩一个数据库配置文件test.xml, 然后切换到B分支,如果B分支和A分支没有代码冲突,则会把test.xml带到B分支去,B分支就会有一个未提交的test.xml,这个时候如果我们再去B分支开发,就会造成代码混乱,这时我们最好先将我们写过的代码用stash命令藏起来,Git->Uncommitted Changes->Stash Changes,等切回A分支后再执行unstash命令。

 

        第二种情况:当我们在A分支提交完代码后剩几个.java文件,然后切换到B分支,如果B分支和A分支有代码冲突,就会弹出git checkout problem弹框,如果我们选择暴力checkout,就会把我们写的代码全部都带到B分支去,然后覆盖冲突的代码,造成代码混乱,这个时候我们可以选择smart checkout,就会将代码放置到一边,然后切换到B分支,那我们切换到A分支怎么找到我们的代码呢,在Git->Uncommitted Changes->show shelf中就可以看到我们搁置的代码。然后选中代码,右键点击unshelf就可以了。

 

注意:shelf 和stash并不是一个东西,他们搁置的地方是不一样的,具体会放到哪里我也就没有再继续深究下去了,大家如果有想法的话可以自己再研究一下

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值