git实用技巧:将多次commit合并为一次

使用 git rebase -i 命令就可以将从最后一次提交往前的多次提交合并为一次。

使用举例:
当前我的提交记录如下,一共有3次提交,下面就把这3次提交合并为一次:
待处理状态

输入以下命令:

git rebase -i HEAD~3

之后会弹出现目的编辑窗口:

这是一个vim编辑的文本,需要使用vim命令进行编辑。

  • 首先,输入i命令,进入编辑模式。
  • 我们需要关注的是最上面几行以pick开头的信息。需要把除了第一行外的pick改成s。
  • 然后按esc键退出输入模式,输入:(英文冒号)进入底线命令模式
  • 再输入wq 即保存后退出

pick or s

之后会展示如下界面,进行提交注释处理。

我们把除了一个条之外的注释都删除掉,删除后的效果如下:

最后的注释
之后同样地保存退出即可。

这样就结束了,再用git log 查看下提交记录,发现已经变为一条记录了。要注意这条记录是三次中最早的那一次,它显示的提交时间和第一次的时间一致。但是它却也是一条新的提交记录,可以注意到它的提交记录号已经和之前的三次都不一样了。

注意,如果当前分支之前已经推送到远程了,需要使用git push -f 才能将rebase后的分支推送到远程。

大家有什么疑问和自己的见解欢迎在评论区提出,非常希望能和大家有更多的交流。

猜你喜欢

转载自blog.csdn.net/vxzhg/article/details/105448190