git fetch & git pull 总结

2023-11-19

一、git fetch & git pull 图解

  • 最开始,github 上存放着我们的远程仓库代码。
  • 然后在本地通过 git clone 命令,将远程仓库拉取到本地仓库。
  • 此时,本地仓库的 origin/master 的内容,是远程仓库 master 的一个副本;同时,本地仓库的 master 与 origin/master 相同。

在这里插入图片描述

  • 突然,远程仓库上有了一次新的提交 commit,远程仓库的 master 分支前进了。
  • 但是,本地仓库不会有变化。

在这里插入图片描述

  • git fetch 只会改变本地仓库的 origin/master 的内容,不会对本地仓库的 master 分支内容有影响。

在这里插入图片描述

  • 执行 git merge ,就会更新本地仓库的 master 分支的内容。

在这里插入图片描述

  • git pull 本质就是: git fetch + git merge

在这里插入图片描述


二、 3 way merge 的情况

  • 远程仓库进行了一次提交,此时远程仓库比本地仓库前移了.
    在这里插入图片描述
  • 本地仓库也有一次提交,本地仓库的 master 分支前移.

在这里插入图片描述

  • git fetch 将远程仓库的 master 分支同步到本地仓库的 origin/master.List item
  • git merge 合并:此时 master 分支向前进, origin/master 保持不变。

在这里插入图片描述

  • 最后,还要将本地仓库的 master 分支推送到远程仓库的 master 分支。

在这里插入图片描述


三、演示

  • 当前本地仓库和远程仓库的状态是一致的。

在这里插入图片描述

  • 首先远程仓库进行一次新的提交。

在这里插入图片描述
在这里插入图片描述

  • 当前本地仓库的状态:master 分支和 origin/master 分支均指向 commit :" update file1.txt"。

在这里插入图片描述

  • 本地仓库 master 分支进行了一次提交。

在这里插入图片描述
在这里插入图片描述

  • 执行 git pull:先 git fetch 再 git merge。

在这里插入图片描述

在这里插入图片描述

  • 最后还要将本地仓库的 merge 状态,推送到远程仓库的 master 分支。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git fetch & git pull 总结 的相关文章

  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • 无法在cordova项目中安装插件

    我面临一个大问题 Unable to install the phonegap plugins在我的科尔多瓦项目中 实际上昨天它仍然工作正常 现在 每当我尝试在我的 cordova 项目中使用 CLI 添加任何 cordova 插件时 我收
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • 克隆存储库而不将其设为原始远程存储库

    我正在从一台将被擦除的计算机上克隆一个 git 存储库 是否可以在不创建原始存储库的情况下克隆存储库origin master 或者我是否需要克隆它 然后删除远程分支 这是通过git remote rm origin Edit 存储库只有一
  • Gerrit 安装后无法克隆所有项目存储库

    我有一个新设置的 Gerrit 实例 目前只有两个存储库 所有项目 binutils 测试 尝试克隆所有项目时 我收到以下错误 git clone ssh user hostname 29418 All Projects Initializ
  • 节点项目的 Azure git 部署失败

    我正在尝试将我的项目部署到azure 它正在失败 这些是我采取的步骤 git init git config core longpaths true git add git commit m initial commit 所有这些都有效 我
  • 有没有办法缓存 https 凭据以推送提交?

    我最近转而将我的存储库同步到 GitHub 上的 https 由于防火墙问题 并且每次都要求输入密码 有没有办法缓存凭据 而不是每次都进行身份验证git push 自 Git 1 7 9 2012 年发布 以来 Git 中有一个巧妙的机制可
  • 在 git repo 中查找超过 x MB 且 HEAD 中不存在的文件

    我有一个 Git 存储库 用于存储随机的内容 主要是随机脚本 文本文件 我设计的网站等 随着时间的推移 我删除了一些大型二进制文件 通常为 1 5MB 这些文件会增加存储库的大小 而我在修订历史记录中不需要这些文件 基本上我希望能够做到 m
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • 无法验证 GitHub 中的虚假电子邮件

    我已经创建了一个 GitHub 帐户 并且我不喜欢公开分享我的电子邮件地址 我厌倦了垃圾邮件 所以我关注了 GitHub保密您的电子邮件地址 https help github com articles keeping your email
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • 无法使用 git 配置文件进行 ssh

    我知道它被问了很多次 但我无法得到我的问题的答案 我正在尝试使用配置文件 ssh 到系统 配置文件是 Host qa HostName 10 218 70 345 User user IdentityFile C Users bean ss
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 部署在github中的Jekyll显示index.html文件的原始文本

    我正在尝试使用来自的分叉存储库来部署 Jekyll 网站https github com cotes2020 jekyll theme chirpy https github com cotes2020 jekyll theme chirp
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • 远程测试时如何搭建git开发环境

    这似乎是一个愚蠢的问题 但我觉得我对 GIT 相当了解 但我似乎无法按照我的意愿设置我的开发环境 我要么错过了一些非常简单的东西 要么我做错了 我在我的服务器上初始化了一个裸 git 存储库 将其克隆到我的本地计算机 提交我的文件并推送到原

随机推荐

  • python-pickle模块

    python3 pickle持久化的储存数据 python程序运行中得到了一些字符串 列表 字典等数据 想要长久的保存下来 方便以后使用 而不是简单的放入内存中关机断电就丢失数据 python模块大全中pickle模块就排上用场了 他可以将
  • 最先进的深度学习:Mask R-CNN简介

    介绍 Introduction From my experience as a time traveller I can confidently say that autonomous driving is was will be all
  • android dm-verity 功能

    Android dm verity 实现原理深入研究 思维导图 dm verity 说明 源码基于 SC20 平台 Android5 1 Android dm verify overview 目录 Android dm verify ove
  • 协方差矩阵的实例与意义

    协方差矩阵的实例与意义 在机器学习中经常需要计算协方差矩阵 本科时没学过这个概念 一直对此非常头疼 现在试图通过实例的计算 图形化的表示来梳理一下什么是协方差矩阵 A numerical example 问题 有一组数据 如下 分别为二维向
  • Visual Studio 2022配置PCL1.12.1版本点云库

    说明 这个配置步骤是当时自己参考2019配置的 当时网上还没有VS2022的配置步骤 我在自己电脑上是配置成功了 所以我将配置过程记录了下来 仅供参考 1 软件下载 Microsoft Visual Studio 2022 Pro http
  • Kali 实现ARP断网攻击_arp断网攻击_arp欺骗

    1 安装软件包 在中端中执行 apt install dsniff ssldump 2 搜索局域网内的ip地址 nmap sn 192 168 0 这里的192 168 0 有的是192 168 1 执行结果 Nmap scan repor
  • SQLite外键(Foreign Key) 的使用例子

    从SQLite 3 6 19 开始支持 外键约束 sqlite gt PRAGMA foreign keys 0 sqlite gt PRAGMA foreign keys ON sqlite gt PRAGMA foreign keys
  • 机器学习:k近邻算法(KNN)介绍

    k近邻算法是一种最简单最经典的机器学习算法之一 该算法的原理为 当对测试样本进行分类时 首先通过扫描训练样本集 找到与该测试样本最相似的k个训练样本 根据这个样本的类别进行投票确定测试样本的类别 也可以通过个样本与测试样本的相似程度进行加权
  • 并发编程(二)——内存模型

    前言 欢迎大家一起来学习多线程 大家一起来学习吧 并发编程 一 多线程快速入门 并发编程 二 内存模型 并发编程 三 多线程之间如何实现通讯 并发编程 四 JUC并发包常用方法介绍 并发编程 五 线程池及原理剖析 并发编程 六 java中锁
  • linux给用户添加sudo权限

    切换到拥有sudo权限的用户下 输入命令 sudo vim etc sudoers 开始编辑 etc sudoers文件 找到 root ALL ALL ALL ALL 这一 行 在它下面添加 xxx ALL ALL ALL ALL 这里的
  • 数组对象在ts中的用法

    数组对象在TS中的用法 length长度 let songs string red blue pink console log songs length push push 方法将一个或多个元素添加到数组的末尾 并返回该数组的新长 3 fo
  • Unity3D 性能优化

    优化思路 个人优化原则 三原则 注意细节 注意细节 注意细节 优化手段 1 善于使用工具 2 减少总量 3 空间 时间互换 4 由浅入深 1 善于使用工具 一定要善于使用工具来分析性能问题 Profiler 先找出性能瓶颈再做优化 2 减少
  • 菜鸟教程《Python 3 教程》笔记(19):错误与异常

    菜鸟教程 Python 3 教程 笔记 19 19 错误和异常 19 1 assert 断言 19 2 异常处理 19 2 1 try except 19 2 2 try except else 19 2 3 try finally 语句
  • JAVA获取类的类对象的三种方式

    自定义一个类 MyClass 并声明该类的对象 class MyClass MyClass mClass1 new MyClass 1 2 3 在上面说过 Class 类的构造方法是私有的 只有 java 虚拟机可以调用该方法创建该类的对象
  • Linux下Qt 5.15.2源码下载及编译

    一 下载 Qt的官方下载地址 Qt Downloads Qt 5 15 2源码下载路径 archive qt 5 15 5 15 2 single qt everywhere src 5 15 2 zip 二 编译源码 Qt官网提供了编译前
  • Verilog的基础知识

    Verilog的基本介绍 硬件描述语言发展至今已有二十多年历史 当今业界的标准中 IEEE标准 主要有VHDL和Verilog HDL 这两种硬件描述语言 一个设计往往从系统级设计开始 把系统划分成几个大的基本的功能模块 每个功能模块再按一
  • centos6.5linux安装docker之升级内核

    1 没有ssl 安装之 yum y install curl nss openssl 2 升级内核 参考博文https blog csdn net lvshuocool article details 79540617 1 gt 导入pub
  • DTD && Schema

    XML约束简介 XML文档都是自定义标签 所以编写起来比较随意自由 所以我们要给XML文档创建一个规则 我们需要在遵守相应的规则的前提下来编写XML文档 XML约束共有两种形式 DTD Schema DTD 文档类型定义 DTD可以定义文档
  • 【万字总结篇】C++STL常用算法详解(错等年系列)

    写在前面 本小菜鸟是一名热爱编程的大二在校生 目前主要精力放在学习C 数据结构和算法上 目前C 这个专栏的博客我已经总结完了C 常用的容器 内置函数对象 仿函数 还有此篇常用的内置算法 都是一些C STL的内容 因为这部分内容不难 并且需要
  • git fetch & git pull 总结

    一 git fetch git pull 图解 最开始 github 上存放着我们的远程仓库代码 然后在本地通过 git clone 命令 将远程仓库拉取到本地仓库 此时 本地仓库的 origin master 的内容 是远程仓库 mast