git fetch & pull详解
1、简单概括 先用一张图来理一下git fetch和git pull的概念: 可以简单的概括为: git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。 下面我们来详细了解一下git fetch 和git pull 的用法。 2、分支的概念 在介绍两种方法之前,我们需要先了解一下分支的概念: 分支是用来标记特定代码的提交,每一个分支通过SHA1sum值来标识,所以对分支的操作是轻量级的,你改变的仅仅是SHA1sum值。 如下图所示,当前有2个分支,A,C,E属于master分支,而A,B,D,F属于dev分支。 A----C----E(master) \ B---D---F(dev) 1 2 3 它们的head指针分别指向E和F,对上述做如下操作: git checkout master //选择or切换到master分支 g git merge dev //将dev分支合并到当前分支(master)中 1 2 合并完成后: A---C---E---G(master) \ / B---D---F(dev) 1 2 3 现在ABCDEFG属于master,G是一次合并后的结果