1. 程式人生 > >git合併遠端倉庫上的提交記錄

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