git合并多次提交为一次提交

**

背景

**
有时候新人在git上提交代码时,如果不符合要求,会出现反复修改,导致提交次数过多,无法形成有效提交和回退,因为可能中间提交的版本有问题。所以查找一下是否有合并多次提交为一次有效提交的命令,果然很强大,像一个穿越时空机一样,可以任意修改已提交的版本。

合并过程

1、查找要历史提交版本

git log

在这里插入图片描述2、查找要合并的几个提交id,并要找到最早要合并的提交id的父commit-id

git rebase -i commit-id //(commit-id是需要合并的提交中最早的提交的前一个id)

在这里插入图片描述

3、更改要合并id的命令
出现pick xxx将第二个及后面的pick关键词改成s,意为合并,最后整理几个提交日志为一个日志。

在这里插入图片描述
ctrl+x离开,键入y,回车,回车保存;

4、整理提交说明:
在这里插入图片描述修改完 Ctrl+x,键入y,回车,回车保存

在这里插入图片描述

5、推送到远端
push到远端时远端仓库会提示冲突。因为之前已经推过到远端了,如果没有推过,本地直接推即可
如果要合并几个远程提交,可能会提示合并git pull xxx,千万不要这么做,直接强制提交即可。

git push -f 或 git push origin xxx/xxx -f

在这里插入图片描述


版权声明:本文为yangzijiangtou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。