使用 --amend 参数來进行 Commit
git log --dev
1234567 WTF
这个 “WTF” 信息有点糟糕!要修改最后一次提交的 Commit 信息很简单,只要直接在 Commit 指令后面加上 --amend 参数即可:
$ git commit --amend -am "Welcome To sakishum.com" [dev 1234568] Welcome To sakishum.com ...
如果沒有加上 -am 参数提供要修改的信息,就会进入 vim 来编辑信息。再回头看记录,”WTF” 就被改成 “Welcome To sakishum.com” 了:
git log --dev
1234568 Welcome To sakishum.com
注意
虽然只是修改记录的信息,其它什么都沒改动,但对 Git 来说因为「Commit 的内容」修改了,所以 Git 会重新生成一次 Commit 记录,也就是说这其实是一次全新的 Commit(只是看起来只是编辑原有的记录)。就以上面的例子来举说,修改前的 Commit 记录的 SHA-1 值是 1234567 ,但改完訊息之後 SHA-1 值變成 1234568(不要纠结数字,只是意思意思,你明白就好) 。虽然 Commit 的时间跟提交的內容看起来並沒有被修改,但它仍是一次全新的 Commit。
能不能修改更早的记录?
这个办法不能修改更早的记录,只能修改最后一次的 Commit 记录,但可以使用 Rebase 命令来处理。