在使用git做版本管理器的時候,有時候需要將多個commit合并成一個commit,因此這里記錄下具體的操作方法,便于查閱。
下面的例子,將msg B,msg C,msg D這3個commit合并成1個commit,具體步驟如下:
1、查看當前的提交信息
執(zhí)行命令:git log,可以查看當前的一些提交信息,這些提交按照時間先后順序為: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í)行完命令后就進入到vi的編輯模式:

2019-11-25_173903

2019-11-25_174651
上圖中,pick表示使用當前的commit,squash表示這個commit會被合并到前一個commit。
我們這里需要將msg C,msg D合并到msg B中,因為msg B是最靠近msg A的,因此這里選擇將msg C,msg D合并到msg B中。
在鍵盤上敲i鍵進入insert模式,然后將msg C,msg D前面的pick修改成squash:

2019-11-25_180541
修改完成后,按esc鍵,冒號,輸入wq進行保存。之后會繼續(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,查看當前的commit信息:

2019-11-25_181700
從上圖中,可以看到,我這里已經(jīng)將msg B,msg C,msg D這3個commit合并成1個新的commit。
審核編輯:湯梓紅
-
管理器
+關注
關注
0文章
264瀏覽量
19439 -
命令
+關注
關注
5文章
746瀏覽量
23438 -
Git
+關注
關注
0文章
205瀏覽量
16752
原文標題:git多個commit合并成一個commit
文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
git shell 常用命令
Git 常用命令大全
Git工程實踐(一)巧用commit message
Git Hooks持續(xù)集成詳解
開發(fā)人員在使用Git時幾種常見錯誤
教你20分鐘搞懂Git!
45個日常用git合代碼的經(jīng)典操作場景
45個Git經(jīng)典操作場景
Git是怎樣的一個系統(tǒng) Git的工作原理
git rebase和git merge的區(qū)別

git多個commit合并成一個commit
評論