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

git 切换分支时会把未add或未commit的内容带过去, 这一点值得注意。

为什么呢?

因为未add的内容不属于任何一个分支, 未commit的内容也不属于任何一个分支。 也就是说,对于所有分支而言, 工作区和暂存区是公共的。

要想在分支间切换, 又不想又上述影响, 怎么办呢? git stash搞起。要注意,在当前分支git stash的内容, 在其他分支也可以git stash pop出来,为什么? 因为:工作区和暂存区是公共的。


少说了一点,就是这两个分支是完全相同时,(即最后一次commit是完全相同)才可以在不add commit 新修改的情况下切换分支,但注意这个时候切换分支会把修改带到切换后的分支。例如你在b1分支修改文件,切换到b2,在b2上add commit,则这个commit是属于b2的,你commit之后在切换回b1,查看该文件,你会发现修改没了,切换回b2查看该文件,修改有了,再次证明最后在哪个分支commit,这个commit就属于那个分支的。 如果两个分支完全不同,例:b1上新建一个分支b2,这个时候两个分支还是相同的,如果b1哪怕提交了一个commit,这两个分支就会变得完全不同了,两个完全不同的分支,如果你在b1上有修改,是没办法switch到b2的,会报错:【error: Your local changes to the following files would be overwritten by checkout:。。。 】

posted @   民宿  阅读(1077)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示