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

35次阅读

共计 518 个字符,预计需要花费 2 分钟才能阅读完成。

使用 Git 时,当前在 B 分支,B 继承自 A,修改了一些文件;现需要在 A 分支修改东西,使用 git checkout A, 但是此时会将在 B 分支时修改的东西,带过来,讲过查资料,思路理下,以作记录。
一、git 基本概念,资料来源于 廖雪峰 git
1. 工作区、缓存区

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

出现 new file modified 等,代表文件在缓存区,还未进入当前所在分支
二、工作区和缓存区内容是公共的,不从属于任何一个分支,资料来源于 这里
问题出现的内容就是因为,我没有 add,而工作区和缓存区内容是公共的,不从属于任何一个分支,所以切换到 A 分支时,仍然将修改的东西带过去了;当既想要在切换分支,又不想 add 时,可以使用 git stash, 当使用了 git stash 后,在其他分支仍然可以通过 git stash pop 找出来
本人也是 git 新手,如有疑问,非常欢迎留言指正,谢谢

正文完
 0