git合併遠程倉庫上的多個提交記錄

有時候開發過程,我們用git提交代碼時,自己的一個模塊沒有完成或者有事情走開了,需要提交未完成的功能,修改多次,因爲反覆提交多次,最終穩定下來,我們想把git上這些不成熟的提交記錄合成一個終極記錄。例如:

git上依次有如下提交(按提交時間從新到舊):

現在,我們想將提交記錄去除強制跳轉的~新手優惠券bug合併成一個提交記錄,怎麼辦呢?

首先我們輸入:

git log 

查看提交記錄,得到包含去除強制跳轉的~新手優惠券bug的位置,然後輸入:

git rebase -i HEAD~13

注意這裏的數字“13”,是從新提交記錄到需要合併的記錄的條數。從去除強制跳轉的~新手優惠券bug正好是13條記錄,實際的數字請根據你要合併的記錄到最新的提交記錄的個數來計算。這個時候我們自動打開一個文本文件,注意這個文本文件中從上到下顯示的提交順序是從舊到新。

我們將需要合併的記錄前面的pick改成squash,然後保存退出。

如果合併成功會打開另外一個文件文件,在這裏我們輸入這次合併時的提交記錄信息。

 

如果合併有衝突,在解決衝突後需要輸入:

git add .
git rebase --continue

如果不想合併了,放棄合併的指令是:

git rebase --abort

接着我們輸入:

git push -f

這條指令將本地倉庫合併記錄推送支遠端倉庫,如果沒有-f的話,系統會提示你,當前記錄不是最新的,無法提交,-f是force的意思,強制提交。

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