【Git】在 IDEA 中合并多个 commit 为一个

news2024/11/24 15:10:07

文章目录

  • 1 未提交到远程分支
    • 1.1 需求说明
    • 1.2 reset 操作
    • 1.3 再次 push
  • 2 已经提交到远程分支
    • 2.1 需求说明
    • 2.2 rebase 操作
    • 2.3 强制 push

分两种情况:

  • 一种是本地提交还没推到远程,这种好处理
  • 另一种是已经提交到远程分支,这个略麻烦

1 未提交到远程分支

1.1 需求说明

在这里插入图片描述

  • 我想把选中的 4 个commit合并为 1 个

1.2 reset 操作

在这里插入图片描述

  • 选中要合并的 commit 的前一个,右键选择 reset。在弹窗中选默认的就好,然后有冲突就解决冲突
    在这里插入图片描述

1.3 再次 push

  • reset 后,在 local change页面可以看到前几个 commit 的修改都在本地了。
    在这里插入图片描述
  • 按照常规的 push操作就好

在这里插入图片描述

2 已经提交到远程分支

2.1 需求说明

在这里插入图片描述
我想要把图中选中的 4 个commit合并为 1 一个
图错了,合并前 3 个 commit 为 1 个

2.2 rebase 操作

- 复制图中4 个要合并的commit 的前一个 commit 的 hash值,如图所示为7642cfbf

  • 复制图中3 个要合并的commit 的前一个 commit 的 hash值,如图所示为a1c496cc
  • 执行如下命令
git rebase -i a1c496cc
  • 回车后,会进入如下界面
    在这里插入图片描述

  • 对最上面的几行进行修改。

  • pick:表示使用 commit

  • reword:表示使用 commit,修改 commit 信息。在这里可以先不急着改,也不会生效,在后续界面修改。

  • fixup:表示使用 commit,丢弃 commit 信息

  • squash:表示使用 commit,将 commit 信息合并到上一个 commit
    在这里插入图片描述

  • 保存退出后,进入下一个页面,修改 commit 信息
    在这里插入图片描述

  • 继续保存后退出,如果有冲突,就解决冲突
    在这里插入图片描述

2.3 强制 push

  • 执行命令
git push --force
  • 可以看到已经执行成功

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java代码审计】RCE篇

【Java代码审计】RCE篇 1.Java中的RCE2.ProcessBuilder命令执行漏洞3.Runtime exec命令执行漏洞4.脚本引擎代码注入5.RCE的防御 1.Java中的RCE 在PHP开发语言中有system()、exec()、shell_exec()、eval()、passthru()等函数可以执行系统命令。在Java开发语言中可以执行系统命令…

如何从 Android 手机免费恢复已删除的通话记录/历史记录?

有一个有合作意向的人给我打电话,但我没有接听。更糟糕的是,我错误地将其删除,认为这是一个骚扰电话。那么有没有办法从 Android 手机恢复已删除的通话记录呢?” 塞缪尔问道。如何在 Android 上恢复已删除的通话记录?如…

STM32CubeMX驱动ST7789

环境 1、单片机:STM32F103C8T6 2、开发平台:STM32CUBEMXkeil mdk 3、屏幕:ST7789,分辨率240*240 STM32配置 1、使用硬件SPI1驱动屏幕。配置如下: 2、屏幕控制引脚配置: 注意:只配置了DC,RST,CS这3个控…

BearPi Std 板从入门到放弃 - 后天篇(3)(ESP8266透传点灯)

简介 电脑搭建一个TCP Server, ESP8266 串口设置好透传模式, 再由TCP Server发送指令控制灯的亮灭; 开灯指令: led_on回车 ; 关灯指令: led_off回车 主芯片: STM32L431RCT6 LED : PC13 \ 推挽输出即可 \ 高电平点亮 串口: Usart1 / LPUART E…

html之如何设置音频和视频

文章目录 前言一、音频标签:audio1.audio简介2.常用属性controlsautoplayloop代码演示: 二、视频标签:video1.video2.常用的视频元素controlsautoplayloop代码演示: 总结视频元素总结音频元素总结 前言 html中插入音频和视频的方…

网络通信--深入理解网络和TCP / IP协议

计算机网络体系结构 TCP/IP协议族 TCP / IP 网络传输中的数据术语 网络通信中的地址和端口 window端查看IP地址和MAC地址:ipconfig -all MAC层地址是在数据链路层的;IP工作在网络层的 MAC是48个字节,IP是32个字节 在子网(局域…

4 postman响应数据解析

上一篇:3 使用postman批量创建测试数据-CSDN博客 在接口测试中,从接口的响应结果中获取数据是很常用的。比如说做断言的时候,需要确保接口返回数据是符合预期的。又比如有些接口的输入参数值,需要用到前面接口运行返回的数据。下面先介绍如何解析响应数据(以json数…

轻量封装WebGPU渲染系统示例<54>- 拱形门

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/GLBMaterialTest.ts 当前示例运行效果:

vue中最重要的点,双向数据绑定是什么?

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View,Mo…

Eigen库之Quaterniond

Eigen::Quaterniond 是 Eigen C 库中用于表示四元数的类,四元数在计算机图形学、机器人学等领域中广泛用于表示旋转操作。 四元数是一种数学结构,通常用于表示和计算三维空间中的旋转。一个四元数由一个实部和三个虚部组成,可以写成如下形式&…

mysql主从复制(在虚拟机centos的docker下)

1.安装docker Docker安装(CentOS)简单使用-CSDN博客 2.部署2个mysql docker run --name some-mysql1 -p 33061:3306 -e MYSQL_ROOT_PASSWORD123456 -d mysql:5.7 --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_cidocker run --name some-mysql2 -p 330…

Android 13 - Media框架(23)- ACodecBufferChannel

这一节我们将了解 ACodecBufferChannel 上一节我们了解到input buffer 和 output buffer 是如何分配的了,allocateBuffersOnPort 方法的最后会将ACodec::BufferInfo 中的 mData 成员组织成为数组,最后提交给 ACodecBufferChannel 管理。这一节我们将尝试…

MySQL数据库基本操作语言:SQL

SQL 概述 SQL是一 种用于操作数据库的语言,SQL适用于所有关系型数据库。 MySQL、Oracle、 SQLServer是一 一个数据库软件,这些数据库软件支持标准SQL,也就是通过SQL可以使用这些软件,不过每一个数据库系统会在标准SQL的基础 上扩展自己的SQL语法。 大部分的NoSQ…

Flink电商实时数仓(三)

DIM层代码流程图 维度层的重点和难点在于实时电商数仓需要的维度信息一般是动态的变化的,并且由于实时数仓一般需要一直运行,无法使用常规的配置文件重启加载方式来修改需要读取的ODS层数据,因此需要通过Flink-cdc实时监控MySql中的维度数据…

GraphPad Prism 10 for Mac v10.0.0.3 安装教程

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件,它可以将科学图形、综合曲线拟合(非线性回归)、可理解的统计数据、数据组织结合在一起,除了最基本的数据统计分析外,还能自动生成统…

ansible(二)

模块七: hostname模块,修改主机名 模块八: copy模块:用于复制指定主机的文件到远程主机的模块(必须要用绝对路径) 常用的参数: Dest:指出要复制的文件在哪(去哪)&am…

C语言—每日选择题—Day59

指针相关博客 打响指针的第一枪:指针家族-CSDN博客 深入理解:指针变量的解引用 与 加法运算-CSDN博客 第一题 1. 以下关于 typedef 正确的描述是()【多选】 A:用typedef可以定义各种类型别名,但不能定义变量…

CSS:元素显示模式与背景

CSS:元素显示模式与背景 元素显示模式什么是元素显示模式块级元素 block行内元素 inline行内块元素 inline-block元素显示模式对比元素显示模式转换 display 背景背景颜色 background-color背景图片 background-image背景平铺 background-repeat背景图片位置 backgr…

使用Swift Package Manager (SPM)实现xcframework分发

Swift Package Manager (SPM) 是苹果官方提供的用于管理 Swift 项目的依赖关系和构建过程的工具。它是一个集成在 Swift 编程语言中的包管理器,用于解决在开发过程中管理和构建包依赖项的需求。 Package结构 一个 Package(包)由 Swift 源码…

CSS 网页制作-学成在线

1、 准备工作 1.1 项目目录 网站根目录是指存放网站的第一层文件夹,内部包含当前网站的所有素材,包含HTML、CSS、图片、JavaScript等等。 1.2 版心效果 可以发现都是呈现版心居中的效果,但是每次都写一次太麻烦了,可以把版心居中…