官方文档有句话“切换分支的时候最好保持一个清洁的工作区域。”,
一直在这上面犯错,犯错! ,经常因为切换分支没有保持一个干净的工作区,而把主分支的代码,提交到了其他分支上!
总结一下,别再犯错,别再犯!
一,切换分支时有如下几种处理方式:
1. add并且commit,再checkout,提交到当前分支
2. add但不commit,可以stash,然后checkout回来之后stash apply,在commit,提交到当前分支
3. add但不commit,也不stash,直接checkout,然后再commit的话,记录就在切换分支下面。
背后的原因:一个本地的git repo只有一个工作区和暂存区,但是有多个分支的提交区,而我们的checkout只是将HEAD指针从一个分支切换到另一个分支。
因此:如果你当前分支有修改,但是还没有commit,如果你要切换分支的话,最好就是把内容都commit了。如果不准备提交的话,就git stash暂存.
再补充一点:关于打包当前分支代码
1,如果你在testIndex分支上,执行npm run build 那么打包出来的代码是testIndex分支上的代码
2,如果你在master分支上,执行npm run build 那么打包出来的代码是master分支上的代码,testIndex分支上的代码并不会被打包进去