Git在IDEA中合并多个commit为一个
分两种情况:
- 一种是本地提交还没推到远程,这种好处理
- 另一种是已经提交到远程分支,这个略麻烦
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:表示使用 commitreword:表示使用 commit,修改 commit 信息。在这里可以先不急着改,也不会生效,在后续界面修改。fixup:表示使用 commit,丢弃 commit 信息squash:表示使用 commit,将 commit 信息合并到上一个 commit

保存退出后,进入下一个页面,修改 commit 信息

继续保存后退出,如果有冲突,就解决冲突

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

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送
这篇文章主要介绍了SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-08-08
Springboot中Dependency not found解决方案
本文主要介绍了Springboot中Dependency not found解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-11-11
Spring 事务神器TransactionTemplate用法及避坑指南
TransactionTemplate是Spring框架提供的编程式事务管理模板类,它结合了声明式事务和编程式事务的优点,解决了复杂场景下的事务控制问题,本文给大家介绍Spring 事务神器TransactionTemplate 全解析,感兴趣的朋友跟随小编一起看看吧2025-12-12
SpringBoot整合Mybatis Plus多数据源的实现示例
本文主要介绍了SpringBoot整合Mybatis Plus多数据源的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-11-11


最新评论