git merge 和git rebase的区别

文章目录

  • 1. 概念
  • 2. git merge
    • 2.1. 示例
  • 3. git rebase
    • 3.1. 示例
  • 4. 总结

1. 概念

在Git版本控制系统中,有两种方式可以将一个分支的更改合并到另一个分支:git mergegit rebase。虽然它们都可以完成相同的任务,但它们的实现方式有所不同,并且在使用时需要谨慎考虑。

2. git merge

git merge 将两个分支的更改合并到一起,形成一个新的提交节点,称为合并提交。这个合并提交将有两个父节点,每个父节点都代表一个分支。这种方法保留了两个分支的历史记录,但可能会导致仓库中存在许多合并提交,使历史记录变得混乱。

2.1. 示例

1.创建一个分支dev

git checkout -b dev

在这里插入图片描述

2.随便提交一点代码

在这里插入图片描述

3.切换到主分支,也随便提交一点代码

在这里插入图片描述

4.运行git mergedev分支合并到主分支,解决完冲突后提交代码

在这里插入图片描述

5.运行git log --oneline --graph查看提交记录

在这里插入图片描述

3. git rebase

git rebase 会将一个分支的更改在另一个分支之前重新应用。这个过程中,Git会将当前分支的更改暂存,然后将当前分支更新到目标分支的最新提交。然后,Git会将之前暂存的更改应用到新的基础上,形成一个新的提交节点。这个新的提交节点只有一个父节点,因此历史记录更加线性和干净。

3.1. 示例

  1. 切换到dev分支,并随便提交一点代码
    在这里插入图片描述
  2. 切换到master分支,随便提交一点代码
    在这里插入图片描述
  3. 运行git rebase dev合并代码,解决完冲突后运行git add
  4. 运行git rebase --continue
  5. 提交代码
  6. 运行git log --oneline --graph查看提交记录
    在这里插入图片描述

4. 总结

总的来说,git merge 保留了分支的历史记录,但可能会导致仓库的历史记录变得混乱。而 git rebase 创建了干净的历史记录,但会删除分支的历史记录。因此,在选择使用哪种方法时,需要根据具体情况进行考虑。

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

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

相关文章

软考:中级软件设计师:计算机存储结构,cache,局部性原理,RAM和ROM,磁盘结构和计算

软考:中级软件设计师:计算机存储结构 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的…

用git下载gitee上的项目资源

目录 用git下载gitee上的项目资源 用git 的clone 命令 然后到gitee上复制相关的下载地址: 粘贴到clone后面即可(注意地址与clone之间有空格!!!) 运行结果: 用git下载gitee上的项目资源 用git…

软件设计模式与体系结构-设计模式-行为型软件设计模式-迭代器模式

行为型软件设计模式 概述 行为型设计模式是软件设计模式中的一类,用于处理对象之间的交互和通信。这些模式关注的是对象之间的行为和职责分配。以下是几种常见的行为型设计模式: 观察者模式(Observer Pattern):定义了…

【CEEMDAN-VMD-GRU】完备集合经验模态分解-变分模态分解-门控循环单元预测研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【随手记】使用Flask做代理为虚拟机提供pip源

最近在重做虚拟机环境,虚拟机不可连外网,最初python包都是通过离线whl进行安装。但是离线文件已经找不到了,不想重新去一个个下载,而且本地环境跟虚拟机环境也不一致,pip download可能会遇到版本问题,遂考虑…

【对象存储】那些事

最近在某个项目中使用了对象存储。以前看过一个新闻:某公司的对象存储被盗刷,一夜之间账户欠费几十万!我们这点小买卖可经不起这么折腾!所以下功夫研究了下,防患于未然。 说到防盗刷,我们还得了解对象存储是…

前端实战——尚品汇(网页开发)

/* 基础设置 */ .container {width: 1190px;margin: 0 auto; } /* #region顶部导航条start */ .topbar {height: 30px;background-color: #ececec; } .welcome {height: 30px;line-height: 30px;font-size: 0;color: #666; } .welcome span,.welcome a {font-size: 12px; } .we…

(五)python实战——使用sqlalchemy完成Sqlite3数据库表的增、删、查、改操作案例

前言 本节内容我们使用sqlalchemy框架完成Sqlite3数据库表的增删查改等常规操作,相较于原生Sqlite的数据库操作,sqlalchemy通过ORM映射完成实体对象的映射,通过映射关系完成对象和数据的转换,完成数据的操作。 正文 ①在项目中…

Matlab|改进的粒子群算法优化支持向量机(回归拟合)

作者在前面的文章中介绍了粒子群算法的原理及其2种改进算法,本文将基于这三种优化方法,应用于支持向量机进行预测,并对比改进算法与标准粒子群算法的预测性能,结果显示改进后的方法能够得到更佳的预测效果。 00 文章目录 1 支持…

jupyter中如何管理内核

1、jupyter notebook如何和已有的虚拟环境关联起来: 如果在电脑中某个conda的虚拟环境中已经安装了jupyter,其他虚拟环境想要作为内核在jupyter中使用,分为两个步骤: 第一步:在没有jupyter的环境中下载ipykernel&…

SPI机制

SPI机制是Service Provider Interface,是服务提供发现机制,用来启用框架扩展和替换组件。比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和PostgreSQL都有不同的实现提供给用户,而Java的S…

局部均方差滤波(磨皮)

note 锚点灰度值 用 原图像对应点的原灰度值 和 局部均值加权得到 局部均值 由 掩膜 区域计算得到 权重 由 局部方差 与用户输入参数计算确定 code // 局部均方差滤波 /*\brief 局部均方差滤波\param src:原矩阵,单通道\param res:结果矩阵\param size:掩膜矩形…