【git】pull 远程分支

本文解析了fetch和merge的工作原理及流程。fetch负责从远程仓库拉取最新的对象和分支信息,并将其保存到本地仓库中;而merge则将fetch下来的更新与本地分支进行合并,最终完成pull操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直说是fetch和merge的结合,那么分开来看下。现在origin和本地有分歧。


手动模仿pull:

先fetch:


所以fetch说做的就是把远程分支的objects和分支名拉下来,然后分支名存在.git/FETCH_HEAD文件,相应的obj存在./git/objects下。

这就是fetch所做的,接下来还需要和本地的merge。

merge:


这就是手动merge fetch下来的东西,最后新加一个提交。


此时就可以push了。