1.问题描述
比如你有两个分支:master和v1.0。当你在v1.0中修改了内容后,切换到master分支,发现master中也同步修改了。
2.原因分析
这是因为,git会把没有commit的内容直接移到你要checkout的branch上面去,而且如果此时对这个新跳转的branch中,原来修改的内容进行二次修改。
3.问题解决
1️⃣方案一:
再回到原来branch中去时,会出现要你选择Force Checkout还是Smart Checkout。
- 选择
Smart Checkout
,就相当于需要自己去手动合并代码了。 - 选择
Force Checkout
,则表示不想要同步,可以直接查看想要跳转到的branch的原代码。
2️⃣ 【推荐】方案二:
在checkout前,先commit提交你所在分支的代码,再切换到你想要跳转到的branch是没有问题的。