Git merge 与 Git rebase 与 Git fetch

Git merge 与 Git rebase

看这个图就行了

git mergegit rebasegit fetch 是 Git 中的三个不同的命令,它们分别用于不同的目的。以下是它们的主要区别:

  1. git merge(合并):

    • 用途: 用于将一个分支的更改合并到另一个分支。
    • 特点: 创建一个新的合并提交,将两个分支的历史合并在一起。产生一个合并的分支历史,可以保留原始分支的完整历史。
    • 适用场景: 通常用于将一个分支的更改合并到另一个分支,保留清晰的分支分离。
    # 示例:将 feature-branch 的更改合并到 main 分支
    git checkout main
    git merge feature-branch
    
  2. git rebase(变基):

    • 用途: 用于将一个分支的更改合并到另一个分支,但与合并不同,它创建一个线性的提交历史。
    • 特点: 移动或合并提交,将当前分支的更改应用在目标分支的最新提交之上。不会创建合并提交,使提交历史更为线性。
    • 适用场景: 用于保持提交历史的干净和线性,特别是在为拉取请求准备分支时。
    # 示例:将 feature-branch 的更改变基到 main 分支
    git checkout main
    git rebase feature-branch
    
  3. git fetch(难点):

    • 用途: 从远程存储库中获取最新的更改,但不自动合并到当前工作分支。
    • 特点: 更新本地仓库的远程跟踪分支,使它们反映远程存储库的最新状态,但并不会更改工作目录中的文件。
    • 适用场景: 用于查看远程仓库的最新更改,然后决定是否将这些更改合并到本地分支。

记住这个就够了

git pull = git fetch + git merge

# 示例:获取远程仓库的最新更改,但不合并到当前分支
git fetch origin

假设你有一个远程仓库(通常称为 “origin”)和一个本地分支(例如,main 分支)。在远程仓库中,有一些新的提交,但你的本地仓库并没有跟踪这些更改。

执行 git fetch 的过程如下:

  1. 查看当前状态: 在执行 git fetch 之前,你可以使用以下命令查看当前状态:

    git status
    

    如果有未提交的更改,可以选择提交或者保存更改。

  2. 执行 git fetch 执行以下命令:

    git fetch origin
    

    这会将远程仓库(origin)的最新更改拉取到本地,但并不会自动合并到你的当前分支。

  3. 查看新的分支状态: 查看远程仓库的分支状态,可以使用以下命令:

    git branch -a
    

    这将显示本地分支和远程分支的列表。你会看到类似 origin/main 的远程分支。

  4. 切换到本地分支: 如果你想要合并这些远程更改到你的本地分支,可以执行以下命令:

    git checkout main
    

    或者使用以下命令创建并切换到一个新的本地分支:

    git checkout -b new-branch-name origin/main
    

    这将创建一个新的本地分支,并将其设置为跟踪远程仓库的 main 分支。

  5. 查看新的更改: 查看本地分支的最新更改:

    git log
    

    这将显示远程仓库的最新提交,你可以选择合并或者进一步处理这些更改。

git fetch 用于获取远程仓库的最新更改,但不会自动将其合并到当前分支。这使你能够在决定是否合并之前查看和理解远程仓库的更改。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

optional

参考资料: Java8 Optional用法和最佳实践 - 掘金 一、背景 根据Oracle文档,Optional是一个容器对象,可以包含也可以不包含非null值。Optional在Java 8中引入,目的是解决 NullPointerExceptions的问题。本质上,Optio…

【C语言】内联函数

一、内联函数 在C语言中,内联函数(Inline function)是一种代码优化技术,它的目的是减少函数调用的开销。内联函数通知编译器在每个函数调用的位置插入函数的实际代码,而不是进行传统的函数调用。这避免了调用函数时的…

什么是特征图?

在卷积神经网络(CNN)中,特征图是在传递给卷积层的图像上发生卷积操作后卷积层的输出。 特征图是如何形成的? 在上面的插图中,我们可以看到特征图是如何从提供的输入图像中形成的。 要发送到卷积层的图像是一个包含像…

讲解把一个文件夹里面的内容复制到另一个文件夹中的操作

🎊专栏【Java小练习】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔需求⭐思路✨代码✨效果 🎄如果要复制…

CCF 202104-2:邻域均值--C++

#include<iostream> #include<bits/stdc.h>using namespace std;int A[601][601]; int n;//长宽都为n个像素double FindNeighborSum(int i,int j,int r,int A[][601]) {int sum0;//像素和 int gs0;//领域 中的像素个数 for(int xi-r;x<ir;x)//找到每一个领域像素…

springboot3 liquibase SQL执行失败自动回滚,及自动打tag

一&#xff1a; 自动执行回滚&#xff0c; 已执行成功的忽略&#xff0c;新sql执行失败则执行新sql文件中的回滚sql pom.xml <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.25.0&…

免费的数据采集软件,最新免费的几款数据采集软件【2024】

在当今数字化时代&#xff0c;数据是企业决策和业务发展的关键。而如何高效获取数据成为许多企业和研究机构的关注焦点。本文将深入探讨数据采集软件的种类。帮助大家选择最适合自己需求的数据采集工具。 数据采集软件种类 在众多数据采集软件中&#xff0c;有一类强大而多样…

工作实践中如何使用ThreadLocal?

主要作用 多线程问题主要是多个线程共享一个对象导致的&#xff0c;我们不让他共享就行了&#xff0c;每个线程保存一份自己的对象&#xff0c;自己玩自己的对象&#xff0c;就不会出现线程问题了。 ThreadLocal这个作用就是让线程自己独立保存一份自己的变量副本。每个线程都…

计算和传输背后的时空观

吞吐和速度(率)经常被混淆&#xff0c;当提到 100Gbps 网卡时&#xff0c;“它很快” 的意义可能只是 “它很多” 100Gbps 指 1s 内发送的比特数为 100G&#xff0c;如果在这 1s 内塞入更多比特&#xff0c;以下是两种方式&#xff1a; 显然&#xff0c;上面是更多&#xff…

TypeScript入门实战笔记 -- 开篇 为什么要选择 TypeScript ?

typescript 在线编辑器http://typescript.p2hp.com/play?#code/JYOwLgpgTgZghgYwgAgJIFUDO1Uhge2QG8AoZc5YAEwC5kQBXAWwCNoBuMikOJiOzGCigA5pwrI4ANzhg4UAPwChozgF8SmmAxAIwwfCGRYcefAAoADlHyXMdDNii4CASmJdyCQ5nwAbCAA6P3wRKxs7ABpkAHJrW0wY1xINEhNnM3MiSlpkAEZonj46GIBrROQ1…

Python:核心知识点整理大全11-笔记

目录 ​编辑 6.2.4 修改字典中的值 6.2.5 删除键—值对 注意 删除的键—值对永远消失了。 6.2.6 由类似对象组成的字典 6.3 遍历字典 6.3.1 遍历所有的键—值对 6.3.2 遍历字典中的所有键 往期快速传送门&#x1f446;&#xff08;在文章最后&#xff09;&#xff1a; 6.…

排序:归并排序

目录 归并排序——有递归的&#xff1a; 基本思想&#xff1a; 思路分析&#xff1a; 代码分析&#xff1a; 划分区间思路&#xff1a; 代码思路分析&#xff1a; 归并排序——有递归的&#xff1a; 基本思想&#xff1a; 归并排序&#xff08;MERGE-SORT&#xff…

《Kafka权威指南》读书笔记

《Kafka权威指南》第一、三、四、六章&#xff0c;是重点。可以多看看。 一、 Kafka的组成 kafka是一个发布与订阅消息系统消息&#xff1a;kafka的数据单元称为"消息"。可以把消息看成是数据库中的一个"数据行"。 消息的key&#xff1a;为key生成一个一…

鸿蒙开发组件之Image

Image组件加载图片方式有三种&#xff1a; 1、网络地址加载 直接Image(xxxx),添加上图片的网络地址就可以了。注意&#xff1a;真机、模拟题调试需要申请"ohos.permission.INTERNET"权限 Image(https://xxxxxxx) 2、PixelMap格式加载像素图 Image(PixelMapObjec…

【小沐学Python】Python实现语音识别(vosk)

文章目录 1、简介1.1 vosk简介1.2 vosk模型1.3 vosk服务 2、安装3、测试3.1 命令行测试3.2 代码测试 结语 1、简介 https://alphacephei.com/vosk/index.zh.html Vosk 是一个语音识别工具包。 1.1 vosk简介 支持二十种语言 - 中文&#xff0c;英语&#xff0c;印度英语&#…

Mac虚拟机CrossOver23破解版下载和许可证下载

CrossOver Mac Mac 和 Windows 系统之间的兼容工具。使 Mac 操作系统的用户可以运行 Windows 系统的应用&#xff0c;从办公软件、实用工具、游戏到设计软件&#xff0c; 您都可以在 Mac 程序和 Windows 程序之间随意切换。 系统要求 运行macOS的基于Intel或Apple Silicon 的…

【原创】【一类问题的通法】【真题+李6卷6+李4卷4(+李6卷5)分析】合同矩阵A B有PTAP=B,求可逆阵P的策略

【铺垫】二次型做的变换与相应二次型矩阵的对应&#xff1a;二次型f&#xff08;x1&#xff0c;x2&#xff0c;x3&#xff09;xTAx&#xff0c;g&#xff08;y1&#xff0c;y2&#xff0c;y3&#xff09;yTBy ①若f在可逆变换xPy下化为g&#xff0c;即P为可逆阵&#xff0c;有P…

【SpringBoot篇】5种类型参数传递json数据传参的操作

&#x1f38a;专栏【SpringBoot】 &#x1f354;喜欢的诗句&#xff1a;天行健&#xff0c;君子以自强不息。 &#x1f386;音乐分享【如愿】 &#x1f384;欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f33a;普通参数&#x1f33a;POJO参数&#x1f33a;嵌套…

Java面试遇到的一些常见题

目录 1. Java语言有几种基本类型&#xff0c;分别是什么&#xff1f; 整数类型&#xff08;Integer Types&#xff09;&#xff1a; 浮点类型&#xff08;Floating-Point Types&#xff09;&#xff1a; 字符类型&#xff08;Character Type&#xff09;&#xff1a; 布尔类…

Unity中Batching优化的GPU实例化(4)

文章目录 前言一、构建需要实例化的额外数据二、在顶点着色器&#xff0c;将实例化 ID 从 appdata 存入 v2f 传给片元着色器三、在片断着色器中访问具体的实例化变量三、使用代码修改Shader材质属性&#xff0c;实现GPU实例化后不同对象颜色不同的效果1、在C#测试脚本生成小板凳…