1. 程式人生 > 實用技巧 >Git 修改已提交的commit註釋

Git 修改已提交的commit註釋

兩種情況:
1.已經將程式碼push到遠端倉庫
2.還沒將程式碼push到遠端倉庫,還在本地的倉庫中

這兩種情況下的修改大體相同,只是第一種情況最後會多一步
下面來說怎麼修改

先搞清楚你要修改哪次的提交註釋或者哪幾次的提交註釋

修改最後一次註釋

如果你只想修改最後一次註釋(就是最新的一次提交),那好辦:
git commit --amend
出現有註釋的介面(你的註釋應該顯示在第一行), 輸入i進入修改模式,修改好註釋後,按Esc鍵 退出編輯模式,輸入:wq儲存並退出。ok,修改完成。

例如修改時編輯介面的圖:

編輯commit註釋.png

修改之前的註釋

修改之前的某次註釋

  1. 輸入:
    git rebase -i HEAD~2
    最後的數字2指的是顯示到倒數第幾次 比如這個輸入的2就會顯示倒數的兩次註釋(最上面兩行)

    顯示倒數兩次的commit註釋.png

  2. 你想修改哪條註釋 就把哪條註釋前面的pick換成edit。方法就是上面說的編輯方式:i---編輯,把pick換成edit---Esc---:wq.

  3. 然後:(接下來的步驟Terminal會提示)
    git commit --amend

  4. 修改註釋,儲存並退出後,輸入:
    git rebase --continue

    提示輸入的命令.png

其實這個原理我的理解就是先版本回退到你想修改的某次版本,然後修改當前的commit註釋,然後再回到本地最新的版本

修改之前的某幾次註釋

修改多次的註釋其實步驟和上面的一樣,不同點在於:

  1. 同上
  2. 你可以將多個想修改的commit註釋前面的pick換成edit
  3. 依次修改你的註釋(順序是從舊到新),Terminal基本都會提示你接下來的操作,每修改一個註釋都要重複上面的3和4步,直到修改完你所選擇的所有註釋

已經將程式碼push到遠端倉庫

首先,你把最新的版本從遠端倉庫先pull下來,修改的方法都如上,最後修改完成後,強制push到遠端倉庫:
git push --force origin master
注:很重要的一點是,你最好保證在你強制push之前沒有人提交程式碼,如果在你push之前有人提交了新的程式碼到遠端倉庫,然後你又強制push,那麼會被你的強制更新覆蓋!!!

最後,可以檢查一下遠端的提交記錄~~


作者:筱湮
連結:https://www.jianshu.com/p/098d85a58bf1