Git工作树文件是否动态生成?合并后Blob对象相关疑问
Git合并相关问题解答
第一个问题:checkout master时工作树是否由不同分支动态生成?
你的理解不对。当把hotfix合并到master时,Git会自动创建一个合并提交,这个提交会生成一个全新的树对象——这个树对象同时包含C1里更新后的b.txt,以及C2里更新后的a.txt。你checkout master的时候,工作树是直接从这个合并提交的树对象里检出的,根本不是从两个分支动态拼接生成的。
第二个问题:同一文件在两个分支更新后成功合并,数据库中是否不存在该文件最终合并版本的Blob对象?
这个理解也错了。不管是Git自动完成无冲突合并,还是你手动解决冲突后提交,合并后的文件内容都会生成一个新的Blob对象存入Git数据库里。最终的合并版本肯定有对应的Blob,不可能不存在。
内容的提问来源于stack exchange,提问作者u936293
相关产品推荐
相关产品推荐

