Git調整commit之間順序

admin發表於2018-08-03

本章節介紹一下如何調整commit之間的順序。

一.調整順序:

首先看一下當前的提交歷史,程式碼如下:

[Shell] 純文字檢視 複製程式碼
$ git log --oneline

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/03/002310f2ffihlc0ll0bb0c.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

下面將add N提交挪到c2提交之前,下面開始操作:

[Shell] 純文字檢視 複製程式碼
$ git rebase -i b0aa963

特別說明:b0aa963用來確定commit範圍,表示從此提交開始到當前的提交(不包括b0aa963提交)。

執行此命令後,彈出VIM編輯器,關於編輯器的基本操作參閱git Vim編輯器輸入內容、儲存和退出操作一章節。

截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/03/002420jon5c2q8svrc5drr.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

截圖說明:

(1).頂部的commit提交排列順序與git log排列相反,最先提交的在最上面。

(2).前面的pick表示保留此次commit提交不做修改。

(3).底部給出所有可用的命令。

只要手動調整一下對應提交的位置即可:

a:3:{s:3:\"pic\";s:43:\"portal/201808/03/002439ftvt600y1zj044wb.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

最後儲存離開就可以自動完成,再來看一下提交歷史記錄:

[Shell] 純文字檢視 複製程式碼
$ git log --oneline

程式碼執行效果截圖:

a:3:{s:3:\"pic\";s:43:\"portal/201808/03/002527g9f5e478mg45mf7q.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

二.調整影響:

無論是調整commit順序或者刪除commit,都有可能產生衝突或者錯誤。

比如,後面的提交對前面的他比較有依賴性,而刪除前面的提交,則勢必會出現問題,就好比穿越時空來到父母戀愛之時,這時候如果熱戀中的父母分手,那自己又會從哪裡來呢。

相關文章