应用场景
场景1
完成需求时,可能会 多次提交代码,每次提交都有一个记录,如下:
当提交到远程仓库时,只想保留一个或几个commit,这时候就需要合并commit了。
场景2
要进行 分支合并 的时候(从一个分支合并到另一个分支),只想保留一个或某几个commit,这时候就需要合并commit了。
场景3
与企业管理方式有关,有的公司,一个需求只允许提交一次到远程仓库
操作
前提
提交到本地库,没有提交到远程库
方式一
第一步
要把前七个commit合并成一个,即:
git rebase -i HEAD~7
解释:HEAD~7 表示前7个commit合并成一个
第二步:摘取合并
然后列出合并的所有commit
注意:列出的顺序是从老到新的
解释:
- Pick:会在你的历史记录中保留该提交。
- Reword:允许你修改提交信息,可能是修复一个错别字或添加其它注释。
- Edit:允许你在重放分支的过程中对提交进行修改。
- Squash:可以将多个提交合并为一个。
更改 pick,把这七个合并成一个commit,那么更改如下:
注意:第一个是 pick,不要修改
执行 esc -> wq 保存退出
然后,让我们更改commit信息,编辑完后退出就好了。
最后完成的效果如下:
方式二
只有第一步与上面方式不同,其余完全相同
第一步
要把前七个commit合并成一个,即:
git rebase -i 6394dc
解释:6394dc 是第7个版本号的前一个
感谢:
https://zhuanlan.zhihu.com/p/139321091
https://linux.cn/article-12231-1.html




