git合併遠端倉庫上的提交記錄
有時候,我們用git提交程式碼時,因為我們的疏忽,會導致同一個問題,修改多次,因為反覆提交多次,最終穩定下來,我們想把git上這些不成熟的提交記錄合成一個終極記錄。例如:
git上依次有如下提交(按提交時間從新到舊):
提交記錄k
提交記錄m
提交記錄n4
提交記錄n3
提交記錄n2
提交記錄n1
提交記錄p
提交記錄q
現在,我們想將提交記錄n1~n4合併成一個提交記錄n,怎麼辦呢?
首先我們輸入:
git log
檢視提交記錄,得到包含n1~n4的位置,然後輸入:
git rebase -i HEAD~6
注意這裡的數字“6”,是從新提交記錄到需要合併的記錄的條數。從k到n1正好是6條記錄,實際的數字請根據你要合併的記錄到最新的提交記錄的個數來計算。這個時候我們自動開啟一個文字檔案,注意這個文字檔案中從上到下顯示的提交順序是從舊到新。
我們將需要合併的記錄前面的pick改成squash,然後儲存退出。
如果合併成功會開啟另外一個檔案檔案,在這裡我們輸入這次合併時的提交記錄資訊。
如果合併有衝突,在解決衝突後需要輸入:
git add . git rebase --continue
如果不想合併了,放棄合併的指令是:
git rebase --abort
接著我們輸入:
git push -f
這條指令將本地倉庫合併記錄推送支遠端倉庫,如果沒有-f的話,系統會提示你,當前記錄不是最新的,無法提交,-f是force的意思,強制提交。
文章參考:http://blog.csdn.net/yangcs2009/article/details/47166361 --------------------- 作者:analogous_love 來源:CSDN 原文:https://blog.csdn.net/analogous_love/article/details/79220239