Git多个commit合并成一个【中间提交合并 尾部提交合并】
尾部提交合并
將msg B,msg C,msg D這3個commit合并成1個commit
1 查看當前的提交信息
執行命令:git log,可以查看當前的一些提交信息 msg A,msg B,msg C,msg D。
2 合并多個commit
git rebase -i [startpoint] [endpoint] 其中-i的意思是--interactive,即彈出交互式的界面讓用戶編輯完成合并操作, [startpoint] [endpoint]則指定了一個編輯區間, 如果不指定[endpoint],則該區間的終點默認是當前分支HEAD所指向的commit (注:該區間指定的是一個前開后閉的區間)。git rebase -i commit_id1 commit_id?
這里的commit_id是待合并的多個commit之前的那個commit ID,這里也就是msg A的commit ID。
在我這里也就是執行命令:git rebase -i d1089921b2714211d1b1652cf0864e2c3f7101a4,
執行完命令后就進入到vi的編輯模式:
?
?上圖中,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:
修改完成后,按esc鍵,冒號,輸入wq進行保存。
之后會繼續跳轉到commit message 的編輯界面:
將上圖中畫線的內容刪掉或者注釋,然后寫一個新的commit信息作為這3個commit的log信息,
我這里的新的信息為:msg B, msg C, msg D,如下圖所示:
然后保存退出,就會跳轉到最初的命令界面:
?Successfully表示操作成功。
3、查看新的commit信息
執行命令:git log,查看當前的commit信息:成功合成了
?中間提交合并
和尾部的類似,就是不想合并的commit前面寫pick即可!
總結
以上是生活随笔為你收集整理的Git多个commit合并成一个【中间提交合并 尾部提交合并】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雪橇犬(说一说雪橇犬的简介)
- 下一篇: 呼格吉勒图(说一说呼格吉勒图的简介)