【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 需求说明

在这里插入图片描述
我想要把图中选中的 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
  • 可以看到已经执行成功

在这里插入图片描述

相关推荐

  1. 使用 git rebase 合并 commit

    2023-12-21 13:52:01       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-21 13:52:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-21 13:52:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-21 13:52:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-21 13:52:01       20 阅读

热门阅读

  1. git第四篇 日常工作使用

    2023-12-21 13:52:01       28 阅读
  2. LCD12864(St7920/St7921)+超声波测距模块+STC89C52

    2023-12-21 13:52:01       35 阅读
  3. 单片机设计的开题报告应该如何书写

    2023-12-21 13:52:01       47 阅读
  4. 云端的DevOps之旅:深入了解AWS Code系列工具

    2023-12-21 13:52:01       39 阅读
  5. kotlin第三方库记录

    2023-12-21 13:52:01       30 阅读
  6. 测试理论知识三:测试用例、测试策略

    2023-12-21 13:52:01       30 阅读
  7. Linux 如何查看架构和系统

    2023-12-21 13:52:01       35 阅读
  8. 基于AES图像加解密算法的MATLAB仿真

    2023-12-21 13:52:01       32 阅读