使用 git rebase 修改歷史的 commit
假設,現在的 commit log 如下:
commit 1 ad34gf
commit 2 3de76k
commit 3 99i8ue
一般使用
git commit --amend
只能修改最後一個 commit,也就是 commit 1 ad34gf
,但是要怎麼修改再之前的 commit 呢?
這時候就要使用
git rebase
的指令。假設我們要修改 commit3 99i8ue
。- 輸入以下指令:
$ git rebase --interactive 99i8ue^
請注意,commit 號碼後面要加上^
符號 - 然後就會進入類似編輯 commit 的畫面,並且有類似下面的資料:
pick 99i8ue commit 3 pick 3de76k commit 2 pick ad34gf commit 1
把第一行的pick
改成edit
後儲存:edit 99i8ue commit 3
- 接下來,修改要變更的文件,修改完成之後,使用
git commit --amend
來變更 commit。 - 最後,再輸入以下指令完成修改:
git rebase --continue
參考資料
關鍵字: git, rebase
留言
張貼留言