1、修改后已经commit切换分支的情况
这种情况,两个分支互不干扰
2、修改后未commit切换分支的情况
hzh-1 分支 原始代码
在hzh-1 修改 但未commit
从hzh-1 切换到 hzh-2分支,选smart Checkout 会把修改的带到hzh-2里面去
选Force Checkout 则是强制切换到hzh-2分支,不会把修改的代码带过去。
但是当你再切换回去hzh-1时修改的代码会没有了。
smart Checkout 把代码带到 hzh-2分支 的情况
Force Checkout则是相当于不要所修改的代码了,切回去hzh-1也没有修改的代码了
但是我们可以通过本地代码历史,选择恢复到某个时间的代码
3、Stash Changes 保存修改的那部分代码
Stash Changes 保存修改的那部分代码,同时会自动恢复到上次提交时的代码,这样就方便随意切换分支,而不会把修改的代码带过去,命名时需要记得是哪个分支上的,还有名字,别混用。
回到当时保存修改的代码分支,选择Unstash Changes把当时保存的名字选中,可恢复到当时保存的修改。
stash@{0}是最新保存的一个
4、回滚commit
右键点击要回滚到的前一个版本
复制版本号