Try   HackMD

Git 如何重新命名 commit

此文章會引導讀者如何重新命名 Git 上 commit 訊息
Ender Yang @ Clientron Corp. Software Dept. IIThursday, March 13, 2025

如果還沒 push commit 出去

  • 使用以下指令直接修改
    ​​​​git commit --amend -m "新的 commit 資訊"
    

如果想要修改舊的 commit 訊息

  • 使用以下指令來進入 rebase 介面

    ​​​​git rebase -i HEAD~N
    

    可以把 N 替換成要回去前幾個 commit 的數字

    • 也可以指定要修改哪個 commit
      透過 commit 的 SHA 數字來指定要改哪一個 commit 的訊息
      ​​​​​​​​git rebase -i XXXXXXXX
      
      例如:
      ​​​​​​​​git rebase -i 4d28d821
      
  • 輸入指令後終端機會開啟 VIM

    1. 按下 I 進入輸入(insert)模式
    2. 把要修改的 commit 訊息前面的 pick 改成 reword
    3. 修改完成後按一下 ESC 來退出輸入模式
    4. 輸入 :wq 來寫入變更並退出 VIM
  • 此時 Git 會自動探測要更改的部分 並開啟一個新的 VIM 畫面

    1. 按下 I 進入輸入模式即可開始更改 commit 訊息
    2. 修改完成後 ESC 退出輸入模式 並輸入 :wq 來儲存並退出
  • 使用下面指令強制 push 更新上去即可完成 commit 訊息的更新

    ​​​​git push --force