首先说一下,这是git自身具有的功能,但是这个功能如果不注意是有可能给我们带来麻烦的,这个功能是什么呢?
假如说master分支是已有稳定版本,现在正在test分支开发,并且只是新增了一个文件,这个时候需要修复某个已有功能,需要切换分支,但是你在切换分支的时候并没有把正在开发的分支代码commit掉,而是直接切换的,那么git会默认将还未提交的新文件携带到刚刚切换的分支上(这就可能给我们带来麻烦)
演示:
第一,如下,稳定版本只有两个文件
第二,跳到新分支上开发新功能
第三,需要切换/新增分支修复功能
正如第三步我们看到的那样,当我们切换分支,但是上一次分支有新增的文件但是没有被提交,那么会携带到当前新切换的分支上来,但是这样的话,一旦我们在目前的分支上修改好功能,并合并提交代码后,就会把本没有打算要的功能一并提交上去,有可能会给之前的功能造成影响
注意:在切换分支前,务必将代码commit,然后再切换分支