使用 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 參考資料 https://stackoverflow.com/questions/1186535/how-to-modify-a-specified-commit 關鍵字: git, rebase