情况:在修改一个项目的时候,突然又有其他分支项目需要修改bug。git官方文档有句话“切换分支的时候最好保持一个清洁的工作区域。”,不知道我的理解是不是正确的。如果你当前分支有修改,但是还没有commit,如果你要切换分支的话,最好就是把内容都commit了?还是只用add到暂存区,下次回来可以继续。
首先对于本地代码分有如下几种处理方式:
1. add并且commit,再checkout,提交到当前分支
2. add但不commit,可以stash,然后checkout回来之后stash apply,在commit,提交到当前分支
3. add但不commit,也不stash,直接checkout,然后再commit的话,记录就在切换分支下面。
切换回来的时候用git stash apply重新获取刚才的变更,其背后的原因:一个本地的git repo只有一个工作区和暂存区,但是有多个分支的提交区,而我们的checkout只是将HEAD指针从一个分支切换到另一个分支。
然后开始下载其他分支
1.查看远程分支
git branch -r
2.更新所有分支索引
git fetch
3.从远程下载分支并切换
git checkout -b 本地分支名 origin/远程分支名