1. 程式人生 > >利用 git rebase -i 指令合併多次 commit

利用 git rebase -i 指令合併多次 commit

由於公司要求一次 push 只能有一次 commit,然而自己由於操作失誤,導致一次修改的內容,分成了兩次 commit,再進行 push 的時候就失敗了

在網上找了一次找到了如下的方法

合併前兩次 commit 的資訊

# git rebase -i HEAD~2

將從現在起倒數第二次 commit 修改為 squash

pick acf6d24 2
squash  0353373 3

表示保留倒數第二次提交,但壓縮到最近一次提交

然後,按esc退出編輯,再按:,輸入wq儲存。
這時候會進入第二個vim頁面,這裡讓我們再次修改commit message的。就是合併後的message。

# This is a combination of 2 commits.
這是合併後的message,以下是之前合併的歷史
# This is the 1st commit message:

2

# This is the commit message #2:

3

還是和剛才一樣,按o插入下一行,輸入這次合併的message。然後按esc,按:, 輸入wq儲存並退出。

# git log

檢視一下就會發現,最近兩次的 commit 已經合併為了一次 commit

參考資料: