Git合并Commit

在日常的代码提交过程中,一定会有一些情况,提交了一些临时的Commit,这些Commit会影响整个我们回顾Git Log。所以需要在合适的时候,将一些临时的信息,或者某几条Commit合并起来。

首先假设我们有三条最新的Commit记录,ABC。我们输入

git rebase -i HEAD~3

HEAD~3表示从当前的提交往回三次以内的提交。这时候,会进入一个rebase-edit的界面。在这个界面中,可以选择你想要合并的Commit,通过Commands:

  • p,pick 使用这条commit
  • r,reword 使用这条commit,并编辑commit message
  • e,edit 使用这条commit,并停止编辑
  • s,squash 使用这条commit,并将它加入到上一条commit中
  • f,fixup 同squash,但是放弃这一次的commit message
  • x,exec 通过shell渐入命令

选择需要合并的commit之后,保存退出后,会自动跳出git的默认editor来处理这一次合并的commit message。但是我这里出了点问题,提示Could not execute editor。应该是我git的默认config有问题。

git config --global core.editor /usr/bin/vim

重新执行上面的rebase后,保存,自动打开vim来编辑这一次的message。编辑完毕后,保存退出,git log查看后,已经合并成功了。