目录
一、背景介绍?:
某天组长帮你做Code Review,说你代码里多余的空格行可以删除了,并且添加个log,方便测试。Easy! 你说好的,喝了口水,然后上了个厕所,回来后删了空格,commit & push,然后意识到你没有添加log,然后继续在同一个branch上添加log,然后commit & push。
这时,你发现这是组长交代的一件事,不应该用两个commit来实现,为了掩盖自己犯下的这个“蠢事”,你就想着把这两个提交合并为一个。(如下图所示,目的:将同一个分支上的change 1提交和chang 2提交合并为一个提交)

二、OK,进入git command实际操作:
1. 命令行输入:git rebase -i HEAD~2 (i的意思是:interactive,HEAD~2为在历史的前两个提交,同理,HEAD~4就是历史的前四个提交。)
git rebase -i HEAD~2
2. vim出现如下所以文件信息,前面两行就是你的提交信息,比如第一行分别对应为:pick(使用提交)、56a06ef(提交的ID)、change 1: remove one blank line(提交的描述信息)
1 pick 56a06ef change 1: remove one blank line
2 pick edbeab5 change 2: add log on MainActivity
3
4 # Rebase 23198ba..edbeab5 onto 23198ba (2 commands)
5 #
6 # Commands:
7 # p, pick <commit> = use commit
8 # r, reword <commit> = use commit, but edit the com