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

 更新时间:2025年10月30日 09:43:53   作者:小镇攻城狮  
文章介绍了两种情况下的commit合并方法:未提交到远程分支和已经提交到远程分支,对于未提交的,通过reset和push操作即可;对于已提交的,使用rebase操作将多个commit合并为一个,然后强制push

分两种情况:

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

1 未提交到远程分支

1.1 需求说明

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

1.2 reset 操作

选中要合并的 commit 的前一个,右键选择 reset。在弹窗中选默认的就好,然后有冲突就解决冲突

1.3 再次 push

reset 后,在 local change页面可以看到前几个 commit 的修改都在本地了。

按照常规的 push操作就好

2 已经提交到远程分支

2.1 需求说明

图错了,合并前 3 个 commit 为 1 个

2.2 rebase 操作

复制图中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
  • 可以看到已经执行成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • IDEA 将 SpringBoot 项目打包成jar的方法

    IDEA 将 SpringBoot 项目打包成jar的方法

    这篇文章主要介绍了IDEA 将 SpringBoot 项目打包成jar的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java System.getProperty()-获取系统参数案例详解

    Java System.getProperty()-获取系统参数案例详解

    这篇文章主要介绍了Java System.getProperty()-获取系统参数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Hibernate批量处理海量数据的方法

    Hibernate批量处理海量数据的方法

    这篇文章主要介绍了Hibernate批量处理海量数据的方法,较为详细的分析了Hibernate批量处理海量数据的原理与相关实现技巧,需要的朋友可以参考下
    2016-03-03
  • Intellij IDEA实现springboot热部署过程解析

    Intellij IDEA实现springboot热部署过程解析

    这篇文章主要介绍了Intellij IDEA实现springboot热部署过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Seata AT模式TM处理流程图文示例详解

    Seata AT模式TM处理流程图文示例详解

    这篇文章主要为大家介绍了Seata AT模式TM处理流程图文示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Java读取json数据并存入数据库的操作代码

    Java读取json数据并存入数据库的操作代码

    很多朋友问大佬们JAVA怎么把json存入数据库啊,这一问题就把我难倒了,纠结如何操作呢,下面小编把我的经验分享给大家,感兴趣的朋友一起看看吧
    2021-08-08
  • 在SSM框架中将图片上传到数据库中的实现代码

    在SSM框架中将图片上传到数据库中的实现代码

    这篇文章主要介绍了在SSM框架中将图片上传到数据库中的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Java中的JVM虚拟机内存分配详解

    Java中的JVM虚拟机内存分配详解

    这篇文章主要介绍了Java中的JVM虚拟机内存分配详解,虚拟机是一种能够执行 Java 字节码的虚拟机,它是 Java 语言的核心组成部分,负责将 Java 代码转换为机器码并执行,JVM 提供了内存管理、垃圾回收、线程管理等功能,需要的朋友可以参考下
    2023-10-10
  • 记一次springboot服务凌晨无故宕机问题的解决

    记一次springboot服务凌晨无故宕机问题的解决

    这篇文章主要介绍了记一次springboot服务凌晨无故宕机问题的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 详解java_ 集合综合案例:斗地主

    详解java_ 集合综合案例:斗地主

    这篇文章主要介绍了java_ 集合综合案例:斗地主,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论