git-怎样把连续的多个commit合并成一个?

Git怎样把连续的多个commit合并成一个?

Git怎样把连续的多个commit合并成一个?
参考URL: https://www.jianshu.com/p/5b4054b5b29e

  1. 查看git日志
git log --graph

比如下图的commit 历史,想要把bai “Second change” 和 “Third change” 这两个commit合并到一起
在这里插入图片描述那么,可以

git rebase -i 7a734e9d47895e096313003d6a2e4f697a16e2e3

注意 7a734e9d47895e096313003d6a2e4f697a16e2e3 是 “Second change” 的前bai一个commit ID。

然后会出现bai编辑器 (具体什么编辑器看你的配置,在linux下,默认是 vi)列出从 7a734e 后面的所有commit,如下图:
在这里插入图片描述因为我们要把 “Second change” 和 “Third change” 合并到一起,所以只需要把 "Third change"前面的那个 pick 改成 squash即可,意思是将 “Third change” 和 它前一个commit (即 “Second change”) 合并

修改后应该是这样
在这里插入图片描述
默认的包括了两个commit的原始消息,你可以在这里任意修改commit message,比如改成 “Second and Third changes in single commit",然后保存退出,git就会把这两个commit变成一个新的commit。做完后我们再用git log看一下,就会变成下图
在这里插入图片描述对比原始git log信息,你就可以发现两个commit被合成一个了。

同理,你可以将任意多个commit合并成一个 (第一个commit保持 pick, 后续commit改成 squash即可)

  1. 取要合并的commit最早那个的父亲ID进行变基
    使用命令
git rebase -i

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

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

相关文章

大模型时代的向量数据库:原理解析和应用案例

大家好,在人工智能领域,数据处理和加工的需求愈发增加。随着人们深入探索AI高级的应用,如图像识别、语音搜索和推荐引擎等,数据的复杂性也在不断地增加。此时传统的数据库存储方式已不能完全满足需求,向量数据库应运而…

离线linux服务器安装mysql8

本文的服务器环境:openEuler毛坯版的,很多常用的指令都没有预装,比如rpm、tar等等,没有网络坏境,需要自己手动配置本地yum仓库,安装相关指令 1、检查服务器是否已经安装了MySQL 1.1、查询mysql以安装的相关…

Machine Learning机器学习之随机森林(Random Forests)

目录 前言: 思想与原理: 随机森林分类效果与什么因素有关: 经典的随机森林算法: 一、构建经典随机森林算法 1、思路 2、步骤: 3、代码实现 二、随机森林算法应用 建模步骤 Python代码实现(完整代码&#xf…

【Java 内网穿透】1.2.5-JDK17-SNAPSHOT新特性

wu-smart-agent-network 是一款基于(wu-framework-parent)孵化出的项目,内部使用Lazy ORM操作数据库,主要功能是网络穿透,对于没有公网IP的服务进行公网IP映射 使用环境JDK17 Spring Boot 3.0.2 项目地址 Gitee Git…

【Canvas与艺术】黑底蓝绿色网格雷达之眼

【图示】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>黑底蓝绿色网格雷达之眼</title><style type"text/css…

go的for循环应该这么用

目录 目录 一&#xff1a;介绍 1: for流程控制 2&#xff1a;for-range流程控制 二&#xff1a;实例展示 1&#xff1a;//按照一定次数循环 2&#xff1a;//无限循环 3: //循环遍历整数、各种容器和通道 4&#xff1a;遍历通道 5&#xff1a;//指针数组循环 6&…

高级 IO

1、五种IO模型 阻塞IO: 在内核将数据准备好之前, 系统调用会一直等待. 所有的套接字, 默认都是阻塞方式&#xff1b; 阻塞IO是最常见的IO模型&#xff1b; 非阻塞IO: 如果内核还未将数据准备好, 系统调用仍然会直接返回, 并且返回EWOULDBLOCK错误码&#xff1b; 非阻塞IO往往…

RabbitMq高可用

消息队列高级 服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.2.消息持久化1.3.消费者消息确认1.4.消费失败重试机制1.5.总结 2.死信交换机2.1.初识死信交换机2.2.TTL2.3.延迟队列 3.惰性队列3.1.消息堆积问题3.2.惰性队列 4.MQ集群4.1.集群分类4.2.普通集群4.3.镜像集群…

[leetcode]06拿硬币

前言&#xff1a;剑指offer刷题系列 问题&#xff1a; 桌上有 n 堆力扣币&#xff0c;每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆&#xff0c;拿走其中的一枚或者两枚&#xff0c;求拿完所有力扣币的最少次数。 示例&#xff1a; 输入&#xff1a;[4,2,1] 输…

【Linux基础】ubuntu虚拟机配置及原理

一、虚拟机 虚拟机&#xff08;Virtual Machine&#xff0c;VM&#xff09;是一种软件实现的计算机系统&#xff0c;它在物理计算机上模拟了一个完整的计算机硬件环境&#xff0c;包括处理器、内存、存储设备和网络接口等。通过虚拟机&#xff0c;用户可以在单个物理计算机上同…

Nginx(Docker 安装的nginx)配置域名SSL证书

1.首先确保Linux环境上已经安装了docker&#xff08;可参考VMware使用和Linux安装Docker_wmware直接部署linux和安装docker后-CSDN博客 2.通过docker 安装nginx&#xff08;可参考Linux 环境安装Nginx—源码和Dokcer-CSDN博客&#xff09; 3.安装SSL证书 3.1 在宿主机中创建…

Python学习笔记(二)

一&#xff1a;异常&#xff1a; 1.1&#xff1a;异常处理&#xff1a; 1.2&#xff1a;异常捕获&#xff1a; 1.3&#xff1a;异常传递&#xff1a; 二&#xff1a;模块&#xff1a; 2.1&#xff1a;模块的定义&#xff1a; 2.2&#xff1a;模块的导入&#xff1a; 2.3&…