git的smart Checkout跟force checkout的区别

git的smart Checkout跟force checkout的区别

在切换分支的时候,常常会遇到下图的问题

  • 是因为我在test分支上修改了代码,但是没有commit,切换到其他分支上就弹出了这个窗口

  • 我们需要怎么处理呢

可以看到弹框底部有Force Checkout Don`t checkout Smart Checkout,表示什么意思呢

  • Smart Checkout就会把冲突的这部分内容带到开发分支(如果你没有点进窗口的那些文件处理冲突的话),比如我在test分支修改到代码,要切换到master分支,点击smart checkout后,master分支会有test分支修改到代码,最好是选smart checkout这样会把本地修改的代码先保存到statsh中,再checkout分支。

  • Force Checkout 就不会把冲突的这部分内容带到开发分支,如果点了force checkout则本地修改都会丢失!!!!!!!!!正确操作是: 切换分支之前,应该先GIT --> Repository --> Stash changes 保存该分支下的改动。 切换回来后,GIT --> Repository --> UnStash changes 恢复之前的改动,

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

  • 总结:不要点击force checkout,如果不想当前分支修改到代码出现在要切换到分支中,需要手动Stash changes,如果允许当前分支修改到代码出现在要切换到分支中,可以选择smart checkout

猜你喜欢

转载自blog.csdn.net/Andrew_Chenwq/article/details/129717762