WWW.lllT.neT一起看一下git fetch与git pull的差别

git fetch和git pull都能够将远侧库房升级至当地那麼它们二人有什么差别?要想搞清楚这个问题有有几个定义迫不得已提。

建议(完全免费):Git

FETCH_HEAD: 是一个版本号连接,纪录在当地的一个文档中,偏向着现阶段早已从远程控制库房取过来的派系的尾端版本号。
commit-id:在每回当地工作中进行后,都是会做一个git commit 实际操作来储存各项工作到当地的repo, 这时会形成一个commit-id,这是一个能唯一标志一个版本号的系列号。 在应用git push后,这一系列号还会继续同歩到远程控制库房。

拥有以上的定义再而言说git fetch
git fetch:这将更新git remote 中任何的远程控制库房所包括支系的最新commit-id, 将其纪录到.git/FETCH_HEAD文档中
git fetch升级远程控制库房的方法如下所示:

git fetch origin master:tmp 
//在当地新创建一个temp支系,并将远程控制origin库房的master支系编码在线下载到当地temp支系
git diff tmp 
//来较为当地编码与刚从远程管理出来的编码的差别
git merge tmp
//合拼temp支系到当地的master支系
git branch -d temp
//假如不愿保存temp支系 可以用这步删掉

(1)假如立即应用git fetch,则流程如下所示:

  • 建立并升级本 地远程控制支系。即建立并升级origin/xxx 支系,获取编码到origin/xxx支系上。
  • 在FETCH_HEAD中设置当今支系-origin/当今支系相匹配,如立即那时候git merge就可以将origin/abc合拼到abc支系上。

(2)git fetch origin
仅仅手动式特定了要fetch的remote。在没有特定支系时通常默认设置为master
(3)git fetch origin dev
特定远程控制remote和FETCH_HEAD,而且只拉取该支系的递交。

git pull : 最先,根据当地的FETCH_HEAD纪录,核对当地的FETCH_HEAD纪录与远程控制库房的版本信息,随后git fetch 得到当今偏向的远程控制支系的后面版本号的数据信息,随后再运用git merge将其与当地的当今支系合拼。因此可以觉得git pull是git fetch和git merge2个过程的融合
git pull的使用方法如下所示:

git pull <远程控制IP地址> <远程控制支系名>:<当地支系名>
//领回远程控制服务器某一支系的升级,再与当地的特定支系合拼。

因而,git fetch是从远程控制获得最新版到当地,但不容易全自动merge
而git pull则是会获得全部远程控制数据库索引并合拼到当地支系中来。实际效果同样时git pull将更加便捷。

以上便是一起看一下git fetch与git pull的差别的详尽具体内容,大量请关心自学java网其他相关文章!

WWW.lllT.neT

声明:有的资源来自网络转载,版权归原作者所有,如有侵犯到您的权益请联系邮箱:our333@126.com我们将配合处理!

原文地址:一起看一下git fetch与git pull的差别发布于2021-12-15 16:18:02