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 联系作者