git rebase
在使用git做版本管理器的時候,有時候需要將多個commit合並成一個commit,因此這里記錄下具體的操作方法,便於查閱。
下面的例子,將add1、add2、add3、add4這4個commit合並成1個commit,具體步驟如下:
-
查看當前的提交信息
執行命令:git log,可以查看當前的一些提交信息,這些提交按照時間先后順序為:add1、add2、add3、add4

-
合並多個commit
執行命令:
git rebase -i commit_id這里的commit_id是待合並的多個commit之前的那個commit ID,這里也就是最下面那個add1的commit ID。
在我這里也就是執行命令:git rebase -i 727c14cd391a7ed88aefee,執行完命令后就進入到vi的編輯模式:

上圖中,pick表示使用當前的commit,squash表示這個commit會被合並到前一個 commit。
我們這里需要將add4、add3、add2,合並到add1中,因為add1是最靠近上一個commit_id的,因此這里選擇將add4,add3,add2合並到add1中。
在鍵盤上敲i鍵進入insert模式,然后將add4,add3,add2前面的pick修改成squash:
修改完成后,按esc鍵,冒號,輸入wq進行保存。之后會繼續跳轉到commit message 的編輯界面:

將上圖中畫線的內容刪掉或者注釋,然后寫一個新的commit信息作為這4個commit的log信息,我這里的新的信息為:add1、add2、add3、add4,如下圖所示:

然后保存退出,就會跳轉到最初的命令界面:

Successfully表示操作成功。
-
查看新的commit信息
執行命令:git log,查看當前的commit信息:

從上圖中,可以看到,我這里已經將add1、add2、add3、add4這4個commit合並成1個新的commit。
