git fetch&pull 解说 | Git
概括
先用一张图来理一下 git fetch
和git pull
的概念:
能够简略的概括为:
git fetch
是将近程主机的最新内容拉到本地,用户在查看了当前决定是否合并到工作本机分支中。
而git pull
则是将近程主机的最新内容拉下来后间接合并,即:git pull = git fetch + git merge
,这样可能会产生抵触,须要手动解决。
上面咱们来具体理解一下git fetch
和git pull
的用法。
git fetch 用法
git fetch 命令:
// 这个命令将某个近程主机的更新全副取回本地
$ git fetch < 近程主机名 >
如果只想取回特定分支的更新,能够指定分支名:
// 留神之间有空格
git fetch < 近程主机名 > < 分支名 >
最常见的命令如取回origin
主机的master
分支:
$ git fetch origin master
取回更新后,会返回一个FETCH_HEAD
,指的是某个 branch 在服务器上的最新状态,咱们能够在本地通过它查看刚取回的更新信息:
$ git log -p FETCH_HEAD
git pull 用法
后面提到,git pull
的过程能够了解为:
// 从近程主机的 master 分支拉取最新内容
$ git fetch origin master
// 将拉取下来的最新内容合并到以后所在的分支中
$ git merge FETCH_HEAD
行将近程主机的某个分支的更新取回,并与本地指定的分支合并,残缺格局可示意为:
$ git pull < 近程主机名 > < 近程分支名 >:< 本地分支名 >
如果近程分支是与以后分支合并,则冒号前面的局部能够省略:
$ git pull origin next