【GIT】TortoiseGit的拉取(Pull) 和 获取(Fetch)

在 Git 和 TortoiseGit(小乌龟)中,拉取(Pull)获取(Fetch) 是两种不同的操作,它们的区别主要在于对本地分支的影响。


1. 获取(Fetch) 的含义

  • 操作内容

    • 从远程仓库下载最新的提交记录引用(如分支和标签)信息到本地的远程跟踪分支(如 origin/main),但不会自动合并到当前本地分支。
    • 本地分支(如 main)不会受到任何影响。
  • 用途

    • 用于查看远程仓库的最新变化,而不修改本地代码。可以在获取后手动决定是否将更改合并到本地分支。
  • 过程

    • 远程分支的最新代码被下载到本地的 .git 存储区(通常是 refs/remotes/origin/*),但不会影响工作区的文件。
  • 适用场景

    • 想检查远程仓库的最新改动,但暂时不想更新本地代码或合并改动。
示例
  1. 操作命令
    git fetch origin
    
  2. 结果
    • 下载远程分支的最新状态,例如 origin/main
    • 本地分支 main 保持不变。

2. 拉取(Pull) 的含义

  • 操作内容

    • 从远程仓库下载最新的提交记录(类似于 fetch),并自动将它们与当前分支合并(通常是 mergerebase 操作)。
  • 用途

    • 直接将远程仓库的最新更改应用到当前分支,更新本地代码。
  • 过程

    • 相当于执行了两步:
      1. git fetch:获取远程分支的最新代码。
      2. git mergegit rebase:将远程代码合并到当前分支。
  • 适用场景

    • 当你想同步远程代码并直接更新当前分支时使用。
示例
  1. 操作命令
    git pull origin main
    
  2. 结果
    • 下载远程分支的最新提交。
    • 将这些提交合并到当前分支(main)。

3. 区别对比

操作获取(Fetch)拉取(Pull)
作用范围仅更新远程跟踪分支,不改变本地分支和工作区。更新远程分支后,自动将更改合并到当前分支。
是否自动合并不会合并,需要手动检查并合并更改。会自动合并,可能引发冲突,需要立即解决。
适用场景想先查看远程改动再决定如何处理,或者不想立即更新代码。想快速同步远程代码并更新当前分支。
安全性更安全,不会对本地分支造成影响。有可能直接导致冲突或意外改动,需要谨慎操作。
复杂度需要额外手动合并(mergerebase)。自动化程度更高,一步完成拉取和合并操作。

4. 小乌龟(TortoiseGit)的对应按钮

  • 获取(Fetch)

    • 仅更新远程跟踪分支,不改变本地代码或分支。
    • 使用场景:查看远程仓库的最新提交记录,但暂时不应用到本地分支。
    • 在小乌龟中点击右键菜单的 Git 获取(Fetch)
  • 拉取(Pull)

    • 同时完成获取和合并,将远程分支的最新改动直接应用到当前本地分支。
    • 使用场景:快速同步远程代码并更新本地代码。
    • 在小乌龟中点击右键菜单的 Git 拉取(Pull)

5. 使用建议

  • 获取(Fetch)

    • 不确定远程仓库的最新改动时,建议先执行 fetch 查看变化,然后根据需要手动合并。
    • 避免意外覆盖本地更改或产生冲突。
  • 拉取(Pull)

    • 确信远程仓库的代码可以直接合并,且本地代码无未提交更改时,可以直接使用 pull,更快速同步远程代码。

总结

  • Fetch获取更新 的更安全选项,你可以检查更改后手动处理合并。
  • Pull获取并合并 的快速操作,但需要确保当前分支处于干净状态(没有未提交的更改)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/479698.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最小生成树-Prim与Kruskal算法

文章目录 什么是最小生成树?Prim算法求最小生成树Python实现: Kruskal算法求最小生成树并查集 Python实现: Reference 什么是最小生成树? 在图论中,树是图的一种,无法构成闭合回路的节点-边连接组合称之为…

关闭AWS账号后,服务是否仍会继续运行?

在使用亚马逊网络服务(AWS)时,用户有时可能会考虑关闭自己的AWS账户。这可能是因为项目结束、费用过高,或是转向使用其他云服务平台。然而,许多人对关闭账户后的服务状态感到困惑,我们九河云和大家一起探讨…

Could not locate device support files.

报错信息:Failure Reason: The device may be running a version of iOS (13.6.1 17G80) that is not supported by this version of Xcode.[missing string: 869a8e318f07f3e2f42e11d435502286094f76de] 问题:xcode15升级到xcode16之后,13.…

Linux文件基础

目录 一、文件类型 二、文件权限 三、权限修改 Linux中一切皆文件,文件目录分布呈树状数据结构,/是根目录,目录的源头 一、文件类型 类型字符说明普通-Linux中最多的一种文件类型,包括 纯文本文件(ASCII)、二进制文件(binary…

自然语言处理基础之文本预处理

一. NLP介绍 1957年, 怛特摩斯会议 二. 文本预处理 文本预处理及作用 将文本转换成模型可以识别的数据 文本转化成张量(可以利用GPU计算), 规范张量的尺寸. 科学的文本预处理可以有效的指导模型超参数的选择, 提升模型的评估指标 文本处理形式 分词 词性标注 命名实体识别…

外卖点餐系统小程序

目录 开发前准备 项目展示项目分析项目初始化封装网络请求 任务1 商家首页 任务分析焦点图切换中间区域单击跳转到菜单列表底部商品展示 任务2 菜单列表 任务分析折扣信息区设计菜单列表布局请求数据实现菜单栏联动单品列表功能 任务3 购物车 任务分析设计底部购物车区域添加商…

彻底理解如何保证ElasticSearch和数据库数据一致性问题

一.业务场景举例 需求: 一个卖房业务,双十一前一天,维护楼盘的运营人员突然接到合作开发商的通知,需要上线一批热门的楼盘列表,上传完成后,C端小程序支持按楼盘的名称、户型、面积等产品属性全模糊搜索热门…

单片机将图片数组调出来显示MPU8_8bpp_Memory_Write

界面显示图片是很常见的需求,使用外挂的FLASH是最常用的方法。但是如果图片需求不大,比如说我们只要显示一个小图标,那么为了节省硬件成本,是不需要外挂一颗FLASH芯片的,我们可以将图标转成数组,存在单片机…

VS的安装和配置

目录 概述 安装Visual Studio 下载引导安装包 在线安装(推荐) 使用Visual Studio进行开发 创建项目 配置项目 项目 VS 解决方案(重要) 命名 完成项目创建 创建源文件 编写代码 VS项目目录的说明(补充&…

linux模拟HID USB设备及wireshark USB抓包配置

文章目录 1. 内核配置2. 设备配置附 wireshark USB抓包配置 linux下模拟USB HID设备的简单记录&#xff0c;其他USB设备类似。 1. 内核配置 内核启用USB Gadget&#xff0c;使用fs配置usb device信息。 Device Drivers ---> [*] USB support ---><*> USB …

【C++】vector的使用

1. vector的构造 (constrator)构造函数声明 接口说明 vector(); (重点) 无参构造 vector (const vector& x); &#xff08;重点&#xff09; 拷贝构造 vector (InputIterator first, InputIterator last); 使用迭代器区间进行初始化构造 vector (size_type n, co…

Easy Excel 通过【自定义批注拦截器】实现导出的【批注】功能

目录 Easy Excel 通过 【自定义批注拦截器】实现导出的【批注】功能需求原型&#xff1a;相关数据&#xff1a;要导出的对象字段postman 格式导出对象VO 自定义批注拦截器业务代码&#xff1a; 拦截器代码解释&#xff1a;详细解释&#xff1a;格式优化&#xff1a; Easy Excel…

Qt/C++基于重力模拟的像素点水平堆叠效果

本文将深入解析一个基于 Qt/C 的像素点模拟程序。程序通过 重力作用&#xff0c;将随机分布的像素点下落并水平堆叠&#xff0c;同时支持窗口动态拉伸后重新计算像素点分布。 程序功能概述 随机生成像素点&#xff1a;程序在初始化时随机生成一定数量的像素点&#xff0c;每个…

矩阵重构——sortrows函数

s o r t r o w s sortrows sortrows函数依据某列的属性对其元素所在的行进行排序从而进行矩阵的排序 s o r t r o w s sortrows sortrows函数常用方法&#xff1a; 1. 1. 1. s o r t r o w s ( a , [ c 1 , c 2 ] ) sortrows(a,[c_1,c_2]) sortrows(a,[c1​,c2​])&#xff0c…

Linux之网络基础

网络发展 网络的发展可以从人与人之间的工作模式开始谈起, 人与人的工作模式反应了机器与机器的工作模式: 1. 独立模式: 在网络发展的早期计算机间处于独立模式, 计算机之间相互独立 最开始计算机之间是独立运行的, 数据之间的交互需要人用软盘等存储介质拷贝过去, 一般涉及…

【pyspark学习从入门到精通22】机器学习库_5

训练-验证分割 TrainValidationSplit 模型为了选择最佳模型&#xff0c;会对输入数据集&#xff08;训练数据集&#xff09;进行随机分割&#xff0c;分成两个子集&#xff1a;较小的训练子集和验证子集。分割只执行一次。 在这个例子中&#xff0c;我们还将使用 ChiSqSelect…

【Petri网导论学习笔记】Petri网导论入门学习(十一) —— 3.3 变迁发生序列与Petri网语言

目录 3.3 变迁发生序列与Petri网语言定义 3.4定义 3.5定义 3.6定理 3.5例 3.9定义 3.7例 3.10定理 3.6定理 3.7 有界Petri网泵引理推论 3.5定义 3.9定理 3.8定义 3.10定义 3.11定义 3.12定理 3.93.3 变迁发生序列与Petri网语言 对于 Petri 网进行分析的另一种方法是考察网系统…

IDEA:配置Serializable class without ‘serialVersionUID’ 找不到

在使用Java原生序列化的时候&#xff0c;serialVersionUID起到了一个类似版本号的作用&#xff0c;在反序列化的时候判断serialVersionUID如果不相同&#xff0c;会抛出InvalidClassException。 File -> Settings -> Editor -> Inspections -> 搜索 Serialization …

win10 禁止更新

一、winR 输入 regedit 二、输入注册列表路径&#xff1a; &#xff08;1&#xff09;计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings &#xff08;2&#xff09;按照格式&#xff0c;创建文件命名: FlightSettingsMaxPauseDays &#xff08;3&…

OpenAI Whisper 语音识别 模型部署及接口封装

环境配置: 一、安装依赖&#xff1a; pip install -U openai-whisper 或者&#xff0c;以下命令会从这个存储库拉取并安装最新的提交&#xff0c;以及其Python依赖项&#xff1a; pip install githttps://github.com/openai/whisper.git 二、安装ffmpeg&#xff1a; cd …