合并多个commit

参考链接

 在实际开发过程中,我们一定会有多次提交,,尤其是多人同时开发,就有更多次的提交,这样不免会造成混乱,因此我们需要合并多次commit

  

可以很清楚的看到现在有三次提交,我们先尝试把三次commit进行合并

我们使用命令git rebase -i e5656489e2fb,可以得到入下界面

  

我们可以看到对命令的说明,现在按键盘I,将pick 1b38f00 3更改成s 1b38f00 3 或者squash 1b38f00 3

修改完成后,按键盘上的Esc键,输入:wq,可以看到如下界面

  

红色圈出来的部分,我们可以进行修改,给这两次commit合并成的一个commit 重新说明,还是按键盘I键,进行修改

  

继续按Esc,然后输入:wq

此时我们用git log 查看

  

可以看到现在就只有两次提交了,但是我们让然希望,将这两次提交合并成一个

现在就需要用到命名git rebase -i --root,重复以上步骤,就可以把多次提交合并成一个提交

如果一开始就使用git rebase -i --root,我们可以一次性将所有的commit都合并起来

如果中途出现问题,使用git rebase --abort恢复成未合并之前的状态

合并完成之后,如果只是在本地进行了多次提交,并没有push,那么直接git push origin '分支名'

如果已经push到远端了,则需要使用命令git push origin '分支名' -f 强制推送到远端,如果存在冲突则需要解决冲突

posted @ 2018-01-10 15:15  祭孑  阅读(2281)  评论(0编辑  收藏  举报