Git合并疑问:分支无对应文件及多分支合并后的文件变化
Git合并相关问题解答
问题1:执行git merge时,若被合并分支中不存在某文件,会出现什么情况?
- 如果当前分支本身存在该文件,被合并分支没有:Git会保留当前分支的该文件,不会删除。只有当被合并分支里有明确的
git rm删除操作时,才会触发文件删除。 - 如果当前分支也没有这个文件:合并后不会有任何变化,Git不会自动创建不存在的文件。
问题2:多分支合并后的具体行为
场景回顾
- 分支
A、B初始均与Master分支同步 A分支添加了部分文件,同时修改了一些原有文件,推送后合并进Master- 现在要将
B分支推送后合并进Master(B仅新增了一些文件,未改动其他内容)
疑问解答
分支
A添加的文件会被删除吗?
不会。B分支没有对A新增的文件执行任何删除操作,合并时Git只会把B分支里新增的文件合并到Master,A之前添加的文件会完整保留在Master中。分支
A已修改但分支B未改动的原有文件会如何变化?
会保留A修改后的版本。因为B分支没有对这些文件做任何变更,合并操作只会处理B的新增内容,不会覆盖Master中已经存在的、来自A的修改。
内容的提问来源于stack exchange,提问作者MVana
相关产品推荐
相关产品推荐

