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