分支切换到新建分支后的现象求大神指教

开始处于JDbean分支上,有两个地方有变动。见下图:
图片说明
正常情况下当前分支有更改时不是必须提交后才能切换分支吗,
我直接从远程新拉了一个分支后就突然切换到新拉的分支了怎么回事?并且之前分支的更新出现在了新拉取的分支中。。见下图:
图片说明
求解释:为什么能切换到新拉取的分支?为什么更新会出现在新拉分支中?

可以认为就是git分支处理的逻辑。当你拉取远程新分支时,它会自动添加本地改动。只有你在两个现有的本地分支之间切换就会保留。

出现这个现象的原因,猜测应该有两点
1. git切换分支并非要求必须先提交缓冲区改动,而是在切换分支导致缓冲区冲突时才要求先提交改动。你的情况是,
切换到新分支,但是新分支缓冲区与旧分支缓冲区并没有冲突,所以无需先提交改动
2. git的缓冲区改动是相对于提交改动前的文件而言的,在切换分支后,由于缓冲区改动并未发生冲突,此时的缓冲区改动
相对与切换后的分支依然是正确的,所以不会要求必须提交或丢弃此改动

换言之,若你在切换前后,导致缓冲区冲突,必然会要求你先提交或丢弃改动;若无冲突,则可以保留。