热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

一起看看gitfetch与gitpull的区别

gitfetch和gitpull都可以将远端仓库更新至本地那么他们之间有何区别?想要弄清楚这个问题有有几个概念不得不提。下面来一起看看。
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将更为快捷。

以上就是一起看看git fetch与git pull的区别的详细内容,更多请关注其它相关文章!


推荐阅读
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • Lua基本语法lua与C#的交互(相当简单详细的例子)
    lua脚本与C#的交互本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验——高分辨率用户请根据需求调整网页缩放比例)1LuaAndC#——L ... [详细]
  • 本文介绍了如何通过源码编译和PECL命令来升级Swoole扩展,详细记录了可能遇到的问题及解决方案。 ... [详细]
  • 本文介绍如何使用Java实现AC自动机(Aho-Corasick算法),以实现高效的多模式字符串匹配。文章涵盖了Trie树和KMP算法的基础知识,并提供了一个详细的代码示例,包括构建Trie树、设置失败指针以及执行搜索的过程。 ... [详细]
  • 本文详细解析了在使用Git进行代码推送时常见的两个错误——'fetch first'和'non-fast-forward',并提供了有效的解决方案。通过理解这些错误背后的原因,开发者可以更加高效地管理代码版本。 ... [详细]
  • 本文详细介绍了Java库中com.badlogic.gdx.scenes.scene2d.Stage类下的mouseMoved()方法,并提供了多个实际应用场景的代码示例,帮助开发者更好地理解和使用这一方法。 ... [详细]
  • 本文探讨了Git与SVN在版本控制上的区别,重点介绍了Git中特有的工作流和文件状态管理机制。 ... [详细]
  • 图神经网络模型综述
    本文综述了图神经网络(Graph Neural Networks, GNN)的发展,从传统的数据存储模型转向图和动态模型,探讨了模型中的显性和隐性结构,并详细介绍了GNN的关键组件及其应用。 ... [详细]
  • 在现代移动应用开发中,尤其是iOS应用,处理来自服务器的JSON数据是一项基本技能。无论是使用Swift还是PHP,有效地解析和利用JSON数据对于提升用户体验至关重要。本文将探讨如何在Swift中优雅地处理JSON,以及PHP中处理JSON的一些技巧。 ... [详细]
  • 多项目环境下的代码复用策略
    在前端开发中,面对多个并行项目的场景,如何有效地实现代码复用成为了一个重要的议题。本文将探讨一种利用npm包管理来实现跨项目组件共享的方法。 ... [详细]
  • 本文详细介绍了Java中com.sun.xml.bind.v2.runtime.XMLSerializer类下的childAsRoot()方法,并提供了多个实际应用的代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将指导你如何通过自定义配置,使 Windows Terminal 中的 PowerShell 7 更加高效且美观。我们将移除默认的广告和提示符,设置快捷键,并添加实用的别名和功能。 ... [详细]
  • 点击上方“中兴开发者社区”,关注我们每天读一篇一线开发者原创好文DevOps微课系列旨在帮助用户学习DevOps实践。1概述    本文详细介绍一般开发人员使用Gerrit代码评审 ... [详细]
  • 本文提供了详细的步骤,指导用户如何下载并安装 Git 的中文语言包,以提升用户体验。 ... [详细]
  • 本文详细介绍了Keycloak框架中UserRepresentation类下的isEnabled()方法的功能与应用,并通过多个实际代码示例说明其在用户管理中的具体实现。 ... [详细]
author-avatar
popou
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有