#本地使用commit先提交,但不推送
git commit - m XX
#推送主仓库前合并之前几次提交
#查看提交
git log
#合并master分支最近两次提交
git rebase -i master~2
#编辑弹出来的文件,将除第一个文件的pick命令换成s,s的意思合并为前一个提交,也就是最终只有一个提交
#当然可以根据实际需要删除其中的某次提交,具体用法看情形
#保存后,编辑每次提交的信息(红框标记处),最终这些信息会在一次提交中换行显示
rebase成功,现在推送到远程仓库只有一次提交记录了,保证了分支的整洁
rebase参数命令说明
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit