Table of Contents
理論上,在 git 當中的任何紀錄都應該是不能修改的,包括在 commit 時順手寫下的 notes 也是。但如果真的已經 commit 出去後才發現寫錯的話該怎麼辦呢?
使用 --amend 修改最近一次的commit
在 git 的 commit 當中,有個--amend
參數,可以讓我們修改最後一次 commit 出去時寫的紀錄。例如:
git commit --amend
執行後,就會跳出讓我們編輯的畫面,這時我們編輯好後再回來看紀錄就會發現修改好了。不過要注意,如果你已經 push 過的話,這個方法就不能用了。
使用 rebase 修改更早之前的紀錄
如果發現要修改的紀錄是更早之前的,那就要使用rebase
了。如果有印象它出現在哪個版本之後的話,可以直接指定從某版開始找:
git rebase -i #######
如果想不起來,也能列出最近若干條紀錄 (比如列出最近5條紀錄):
git rebase -i HEAD~5
這時他會列出這些紀錄的版本號以及相對應的log messages:
pick:####### add apple
pick:####### add bird
pick:####### add cat
pick:####### add dog
pick:####### remove eggs
然後就是看我們要修改哪個,就把那行的 pick 改成 reword。送出之後,畫面會跳出讓我們修改訊息的畫面,這時我們再把內容編輯好後再送出即可。