git切换分支时,会将未add或未commit的内容切换过去

使用Git时,当前在B分支,B继承自A,修改了一些文件;现需要在A分支修改东西,使用git checkout A,但是此时会将在B分支时修改的东西,带过来,讲过查资料,思路理下,以作记录。

一、git基本概念,资料来源于 廖雪峰git

1.工作区、缓存区

git切换分支时,会将未add或未commit的内容切换过去

git有工作区、缓存区的概念,工作区即为自身本地的相应文件夹,通过git add命令后,即可将文件放置缓存区;继而通过git commit即可将文件放置于相对应的git分支;
2.判断当前文件是在什么区间
通过git status,可以判断当前文件所属位置;

git切换分支时,会将未add或未commit的内容切换过去
出现 Untracked files,代表当前文件出在工作区,还未进入缓存区


git切换分支时,会将未add或未commit的内容切换过去
出现new file modified等,代表文件在缓存区,还未进入当前所在分支

二、工作区和缓存区内容是公共的,不从属于任何一个分支,资料来源于 这里

问题出现的内容就是因为,我没有add ,而工作区和缓存区内容是公共的,不从属于任何一个分支,所以切换到A分支时,仍然将修改的东西带过去了;
当既想要在切换分支,又不想add时,可以使用git stash,当使用了git stash后,在其他分支仍然可以通过git stash pop找出来

本人也是git新手,如有疑问,非常欢迎留言指正,谢谢

相关推荐