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

总结

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

相关文章

  • Fluent Mybatis实际开发中的优势对比

    Fluent Mybatis实际开发中的优势对比

    本文给大家介绍如何通过IQuery和IUpdate定义强大的动态SQL语句,给大家分享Fluent Mybatis实际开发中的优势讲解,感兴趣的朋友一起看看吧
    2021-08-08
  • Mybatis高级映射、动态SQL及获得自增主键的解析

    Mybatis高级映射、动态SQL及获得自增主键的解析

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。这篇文章主要介绍了Mybatis高级映射、动态SQL及获得自增主键的相关资料,需要的朋友可以参考下
    2016-11-11
  • IDEA报错:java 找不到符号图文解决过程

    IDEA报错:java 找不到符号图文解决过程

    这篇文章主要给大家介绍了关于IDEA报错:java 找不到符号解决的相关资料,运行项目时Idea报错,提示找不到符号,但是这个类在项目里是存在的,网上找了很多文章都没解决,浪费了一个下午终于弄好了,记录一下,需要的朋友可以参考下
    2023-08-08
  • Java截取字符串的几种方法示例

    Java截取字符串的几种方法示例

    众所周知java提供了很多字符串截取的方式,下面这篇文章主要给大家总结介绍了关于Java截取字符串的几种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Java 异常详解

    Java 异常详解

    本文主要介绍了异常与错误的区别,异常的体现分类,异常的处理机制,如何自定义异常等,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送

    SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送

    这篇文章主要介绍了SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Springboot中Dependency not found解决方案

    Springboot中Dependency not found解决方案

    本文主要介绍了Springboot中Dependency not found解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • Spring 事务神器TransactionTemplate用法及避坑指南

    Spring 事务神器TransactionTemplate用法及避坑指南

    TransactionTemplate是Spring框架提供的编程式事务管理模板类,它结合了声明式事务和编程式事务的优点,解决了复杂场景下的事务控制问题,本文给大家介绍Spring 事务神器TransactionTemplate 全解析,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • Java 并发编程学习笔记之Synchronized简介

    Java 并发编程学习笔记之Synchronized简介

    虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。
    2016-05-05
  • SpringBoot整合Mybatis Plus多数据源的实现示例

    SpringBoot整合Mybatis Plus多数据源的实现示例

    本文主要介绍了SpringBoot整合Mybatis Plus多数据源的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11

最新评论