分支无法切换时可以先stash或者commit这个分支在切换:
1.git stash后,可以切换到别的分支
2.切回来,git stash apply 回到最新的储藏
git stash list 显示多次的储藏,根据显示的版本回到之前的储藏
例如:git stash apply stash@{2} 回到该次的储藏
分支切换的实践结果:
1.没有add,也没commit 切换分支修改的内容在另一个分支上也有
(有时候也无法切换分支,原因如切换时会提示会覆盖另一个分支文件的内容,也可强制切换git checkout branchname -f ,最好不要强制切换,会丢失之前分支的修改内容,可以先stash或commit,再切换)
2.add,但没有commit 切换分支,修改的内容在另一分支上也有(有时和情况1一样无法切换)
- add并且commit 切换分支,在另一个分支就看不到修改内容了
原因:一个本地的git repo只有一个工作区和暂存区,但是有多个分支的提交区,而我们的checkout只是将HEAD指针从一个分支切换到另一个分支。