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
经验分享 程序员 微信小程序 职场和发展