git merge 分支遇到的奇葩现象

遇到的问题

切换分支的时候,A 分支新建的文件居然被 B 分支历史文件夹同步了。

重现步骤

神奇的一 B:test2 中 src 的修改,居然到了 test1 的 dist 中提现出来

大致原因

官方介绍:git branch 介绍
如图所示,C3&C4 是由 C2 开始,并且根据不同的需求做修改。当 test1 和 test2 合并的时候,test2 并不是 test1 的父级,所以会出现‘recursive’ strategy策略的处理。
这个策略,将 C3,C4 作为两个副本快照,和他们公共的父节点 C2 做策略合并(three way merge)。
值得注意的是,C3 上做剪切动作时,git status 是rename,估计是这个原因 merge 后,会把 c4 的修改同步到 dist 的文件中。

【长按关注】看看↓↓↓?
Eminoda wechat
【前端雨爸】分享前端技术实践,持续输出前端技术文章
欢迎留言,评论交流,一起讨论前端问题
📢 因为是开源博客,为避免 Gitalk授权 带来的 安全风险,也可访问