KyleBlog.cn 文章 标签 关于
文章 标签 关于

git合并两个相邻commit为一个commit

问题描述

假设当前的git log是:

commit3
commit2
commit1

最近一次commit是commit3,最老的一次commit是commit1。

现在,我们想要合并commit2和commit3。

解决方案

git rebase -i commit1

这时候,shell显示两条pick命令:

pick commit2
pick commit3

rebase下,有两个常用功能:

  • pick xxx:保留xxx,pick可以简写为p。
  • squash xxx:将xxx合并到更早的commit,squash可以简写为s。

我们修改下默认命令,变为:

pick commit2
squash commit3

接下来,进入编辑commit msg的界面,写一个新的msg即可。此时看git log,会发现只剩下commit1和我们刚刚新建的commit。

注意事项:如果这个过程中有操作错误,可以使用 git rebase --abort来撤销修改,回到合并之前的状态。

本文为kyleblog.cn原创,转载请注明出处:https://www.kyleblog.cn/posts/git_merge_commit

发布日期:2022-08-04 联系作者