兩種情況:
1.已經將代碼push到遠程倉庫
2.還沒將代碼push到遠程倉庫,還在本地的倉庫中
這兩種情況下的修改大體相同,只是第一種情況最后會多一步
下面來說怎么修改
先搞清楚你要修改哪次的提交注釋或者哪幾次的提交注釋
修改最后一次注釋
如果你只想修改最后一次注釋(就是最新的一次提交),那好辦:
git commit --amend
出現有注釋的界面(你的注釋應該顯示在第一行), 輸入i進入修改模式,修改好注釋后,按Esc鍵 退出編輯模式,輸入:wq保存並退出。ok,修改完成。
例如修改時編輯界面的圖:
修改之前的注釋
修改之前的某次注釋
-
輸入:
git rebase -i HEAD~2
最后的數字2指的是顯示到倒數第幾次 比如這個輸入的2就會顯示倒數的兩次注釋(最上面兩行)
顯示倒數兩次的commit注釋.png -
你想修改哪條注釋 就把哪條注釋前面的
pick換成edit。方法就是上面說的編輯方式:i---編輯,把pick換成edit---Esc---:wq. -
然后:(接下來的步驟Terminal會提示)
git commit --amend -
修改注釋,保存並退出后,輸入:
git rebase --continue
提示輸入的命令.png
其實這個原理我的理解就是先版本回退到你想修改的某次版本,然后修改當前的commit注釋,然后再回到本地最新的版本
修改之前的某幾次注釋
修改多次的注釋其實步驟和上面的一樣,不同點在於:
- 同上
- 你可以將多個想修改的commit注釋前面的
pick換成edit - 依次修改你的注釋(順序是從舊到新),Terminal基本都會提示你接下來的操作,每修改一個注釋都要重復上面的3和4步,直到修改完你所選擇的所有注釋
已經將代碼push到遠程倉庫
首先,你把最新的版本從遠程倉庫先pull下來,修改的方法都如上,最后修改完成后,強制push到遠程倉庫:
git push --force origin master
注:很重要的一點是,你最好保證在你強制push之前沒有人提交代碼,如果在你push之前有人提交了新的代碼到遠程倉庫,然后你又強制push,那么會被你的強制更新覆蓋!!!
最后,可以檢查一下遠程的提交記錄~~
作者:筱湮
鏈接:https://www.jianshu.com/p/098d85a58bf1
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
