有兩種情況:
1:已經將代碼push到遠程倉庫。
2:還未將代碼push到遠程倉庫,還在本地倉庫中。
這兩種方式的修改大體相同,只是第一種情況會多一步。
修改最后一次的注解
如果知識想修改最后一次的注解(就是最新提交的一次):
git commit --amend
我是使用的IDEA上的Terminal。
輸入以上命令后可以看到以下內容:
第一行的 MQCS 1.2.5 這個位置就是最近一次提交的注解,然后在界面按 i 進入修改模式,可以看到下方出現 --INSERT-- 提示:
這時候就可以對這條注解進行編輯操作:
然后按鍵盤 ESC 鍵保存,然后輸入 :wq 退出:
修改之前的某次注解
先確定要修改的是倒數第幾次的注解,例如倒數第二次的注解:
git rebase -i HEAD~2
顯示出來的是倒數第二次和倒數第一次兩條記錄,如果要修改的話,按 i 進入編輯模式(可以參考最開始的操作),然后把注解前面的 pick 修改為 edit ,然后ESC保存,:wq 退出。
保存退出后Terminal 會提供接下來需要的兩條步驟:
可以先輸入
git commit --amend
這時候顯示的是剛才我們把 pick 修改成 edit 的那條記錄,輸入 i 進入編輯模式,然后修改該條注解,ESC保存 :wq 退出
然后輸入
git rebase --continue
其實這個原理我的理解就是先版本回退到你想修改的某次版本,然后修改當前的commit注釋,然后再回到本地最新的版本
如果已經將代碼push到遠程倉庫
首先,你把最新的版本從遠程倉庫先pull下來,修改的方法都如上,最后修改完成后,強制push到遠程倉庫:
git push --force origin master
最好保證在你強制push之前沒有人提交代碼,如果在你push之前有人提交了新的代碼到遠程倉庫,然后你又強制push,那么會被你的強制更新覆蓋!
最后,可以檢查一下遠程的提交記錄