git的pull和fetch区别_git pull和git clone

git的pull和fetch区别_git pull和git clonegitfetch和gitpull都可以将远端仓库更新至本地那么他们之间有什么区别呢?想要弄清楚这个问题有有几个概念不得不提。FETCH_HEAD:是一个版本链接,记录在本地的一个文件中,指向着目前已经从远程仓库取下来的分支的末端版本。commit-id:在每次本地工作完成后,都会做一个gitcommit操作来保存当前工作到本地的repo,此时会产生一个commit-id,这是一个能

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

git fetch和git pull都可以将远端仓库更新至本地那么他们之间有何区别?想要弄清楚这个问题有有几个概念不得不提。

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 merge两个步骤的结合
git pull的用法如下:

git pull <远程主机名> <远程分支名>:<本地分支名>
//取回远程主机某个分支的更新,再与本地的指定分支合并。

因此,git fetch是从远程获取最新版本到本地,但不会自动merge
而git pull则是会获取所有远程索引并合并到本地分支中来。效果相同时git pull将更为快捷。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171979.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 错误813宽带连接解决办法_网站500服务器内部错误

    错误813宽带连接解决办法_网站500服务器内部错误相关链接:服务器IIS安全设置如何完全地重新安装IISIIS无法解析asp文件的原因分析及解决办法HTTP500内部错误解决办法IISFAQ整理一.错误表现IIS5的HTTP500内部服务器错误是我们经常碰到的错误之一,它的主要错误表现就是ASP程序不能浏览但HTM静态网页不受影响。另外当错误发生时,系统事件日志

    2022年8月11日
    6
  • 移动端开发技术浅析

    移动端开发技术浅析移动端开发技术浅析目录APK下载概述技术介绍技术对比参考资料1.APK下载百度云链接:https://pan.baidu.com/s/1pLp44Fh2.概述“一次编码,处处运行”永远是程序员们的理想乡。二十年前Java正是举着这面大旗登场,击败了众多竞争对手。但是时至今日,事实已经证明了Java笨重的体型和缓慢的发展显然已经很难再抓住这个时代快速跃动的脚步。在

    2022年6月24日
    25
  • 如何编写符合rest架构风格的restful?_php restful api 框架

    如何编写符合rest架构风格的restful?_php restful api 框架RESTful架构&简单使用Django rest framework

    2022年4月21日
    37
  • gbase导出sql_gbase修改字段名称

    gbase导出sql_gbase修改字段名称喵了个咪的。到目前为止,自己已经用过SQLSERVER,MySQL,Oracle,SQLite,加上南大通用GBASE五种数据库了。虽然每种都用的不深注:GBASE提供了C的API,查看手册即可。不支持string。用C++配置GBASE:对方提供了32位和64位windows下的库。在程序中添加gbase.herrmsg.h两个头文件,导入gbaseclient.liblibgb…

    2025年6月19日
    2
  • Mcafee 杀毒软件自动扫描U盘病毒完美解决方案与思路

    Mcafee 杀毒软件自动扫描U盘病毒完美解决方案与思路

    2021年8月28日
    94
  • 比和比例的联系和区别

    比和比例的联系和区别比和比例一直是学数学容易弄混的几大问题之一,其实它们之间的问题完全可以用一句话概括:比,等同于算式中等号左边的式子,是式子的一种(如:a:b);比例,由至少两个称为比的式子由等号连接而成,且这两个比的比值是相同(如:a:b=c:d)。所以,比和比例的联系就可以说成是:比是比例的一部分;而比例是由至少两个比值相等的比组合而成的.比和比例的区别:区别区别1:意义、项数、各部

    2022年5月14日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号