在使用git做版本管理器的時候,有時候需要將多個commit合并成一個commit,因此這里記錄下具體的操作方法,便于查閱。
下面的例子,將msg B,msg C,msg D這3個commit合并成1個commit,具體步驟如下:
1、查看當(dāng)前的提交信息
執(zhí)行命令:git log,可以查看當(dāng)前的一些提交信息,這些提交按照時間先后順序為:msg A,msg B,msg C,msg D。
2019-11-25_165510
2、合并多個commit
執(zhí)行命令:git rebase -i commit_id,這里的commit_id是待合并的多個commit之前的那個commit ID,這里也就是msg A的commit ID。
在我這里也就是執(zhí)行命令:git rebase -i d1089921b2714211d1b1652cf0864e2c3f7101a4,執(zhí)行完命令后就進(jìn)入到vi的編輯模式:
2019-11-25_173903
2019-11-25_174651
上圖中,pick表示使用當(dāng)前的commit,squash表示這個commit會被合并到前一個commit。
我們這里需要將msg C,msg D合并到msg B中,因為msg B是最靠近msg A的,因此這里選擇將msg C,msg D合并到msg B中。
在鍵盤上敲i鍵進(jìn)入insert模式,然后將msg C,msg D前面的pick修改成squash:
2019-11-25_180541
修改完成后,按esc鍵,冒號,輸入wq進(jìn)行保存。之后會繼續(xù)跳轉(zhuǎn)到commit message 的編輯界面:
2019-11-25_180906
將上圖中畫線的內(nèi)容刪掉或者注釋,然后寫一個新的commit信息作為這3個commit的log信息,我這里的新的信息為:msg B, msg C, msg D,如下圖所示:
2019-11-25_181151
然后保存退出,就會跳轉(zhuǎn)到最初的命令界面:
2019-11-25_181335
Successfully表示操作成功。
3、查看新的commit信息
執(zhí)行命令:git log,查看當(dāng)前的commit信息:
2019-11-25_181700
從上圖中,可以看到,我這里已經(jīng)將msg B,msg C,msg D這3個commit合并成1個新的commit。
審核編輯:湯梓紅
-
管理器
+關(guān)注
關(guān)注
0文章
246瀏覽量
18511 -
命令
+關(guān)注
關(guān)注
5文章
684瀏覽量
22027 -
Git
+關(guān)注
關(guān)注
0文章
200瀏覽量
15765
原文標(biāo)題:git多個commit合并成一個commit
文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論