在我們使用Git的時候,經(jīng)常會因為bug和代碼規(guī)范問題提交多個commit,而這些commit合并起來才是一個完整的任務(wù)。雖然影響不大,但對強迫癥來說非常難受。
假設(shè)我們有三個提交

git-commit-log.png
我們要合并這三個提交,使用命令 git rebase -i HEAD~3 其中3代表操作的commit數(shù)量

git-rebase1.png
進入vi界面,可以看到注釋中有很多命令,這里我們要把第二次提交、第三次提交合并到第一次提交中,squash命令可以把當前提交合并到上一個提交中,我們把第二次提交、第三次提交前的命令改成squash或s。

git-rebase2.png
保存退出,會進入commit message的編輯頁面

git-rebase-comment.png
修改注釋

git-comment.png
然后保存退出,三次提交就合并成功了!

git-log.png
PS:如果已經(jīng)提交到遠程,可以使用
git push -f命令強制推送到遠程