git多个远程commit合并重新提交

1、查看提交记录 git log --oneline

git多个远程commit合并重新提交_第1张图片

 2、开始合并 git rebase -i commitId

commitId指你不需要合并的commit的哈希值,即此次你需要合并的commit之前的一个commit ,此处以b9570e9d8示例 git rebase -i b9570e9d8,合并dfc84c9e5和3bad8685f两个commit,执行完命令行进入 vi 编辑模式。

git多个远程commit合并重新提交_第2张图片

 3、键盘敲i键进入insert模式

s(squash)指合并这个commit至前一个commit即pick指向的commit,此处示例dfc84c9e5、3bad8685f两个commit合为一个,所以dfc84c9e5前面的pick保持不变作为基线,而3bad8685f前面的pick改成s或squash。

git多个远程commit合并重新提交_第3张图片

4、按esc、:、wq保存 

第三步修改完成后,按esc键、冒号、输入wq保存修改,之后会跳转到commit message编辑页。

git多个远程commit合并重新提交_第4张图片

5、 继续i键进入insert模式

注释中有每个commit的信息,i键进入输入模式,编辑你合并commit的信息,可自由编辑更改,此处我以第一个commit信息作为合并信息。

git多个远程commit合并重新提交_第5张图片

6、 esc:wq保存生效

第五步编辑完成,继续esc:wq保存提交,合并成功会跳到最初命令行界面。

git多个远程commit合并重新提交_第6张图片

7、查看合并commit信息 git log --oneline

稳妥起见查看核对合并后commit的提交信息。 

git多个远程commit合并重新提交_第7张图片

8、强制push到远程 git push -f 

最后一步,确认无误后需要强制推合并commit到远程才算真正生效,若当前分支不是个人维护分支,注意确保强制push不会覆盖别人代码。

git多个远程commit合并重新提交_第8张图片

注:如果手残误操作,只要没走最后一步,可执行git rebase --abort放弃本次合并操作,回到最初状态。

你可能感兴趣的:(码农日记,git)