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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章