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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM