1,修改當(dāng)前的
直接使用下面的命令,如果打開的是 vim
編輯器,先切換到英文輸入法,
鍵入 i
開始編輯(編輯完后也記得轉(zhuǎn)為英文輸入法),
再鍵入 Esc
結(jié)束編輯并鍵入 :wq
保存退出即可。
git commit --amend
2,修改歷史的
步驟:
1,先查看 log
git log --oneline
# 查看前 3 步的 log
git log --oneline -3
2,開始修改
通過 rebase 變基實(shí)現(xiàn)
查看最近的3次提交:
git rebase -i HEAD~3
當(dāng)通過查看 log 定位出要修改的 commit 的位置后,就可以進(jìn)行修改。
比如要修改倒數(shù)第3次提交,將想要修改的 commit 對(duì)應(yīng)的 pick
改為 e
或 r
(2個(gè)都可以)。然后退出編輯并保存。
下面展示后續(xù)操作的是修改為
e
的操作,修改為r
的后續(xù)操作類似。
注意此時(shí)的狀態(tài)沒有再某個(gè)分支上,而是在【ee38286a】的這次 commit 上:
此時(shí),就可以執(zhí)行 git commit --amend
來修改目標(biāo) commit message 了。
修改完后,執(zhí)行 git rebase --continue
繼續(xù)變基。因?yàn)閯倓傇O(shè)置了只修改一條 commit message,所以會(huì)直接到最后一步 Successfully:
此時(shí)當(dāng)前狀態(tài)也已經(jīng)恢復(fù):
3,其他注意點(diǎn)
1,中途不想修改了
如果在執(zhí)行了 git rebase
之后,突然又不想修改了。那可以執(zhí)行下面的命令退出變基操作:
git rebase --abort
2,commit ID 會(huì)發(fā)生變化
如果修改的是倒數(shù)第3個(gè) commit。注意:從倒數(shù)第3~倒數(shù)第1的這3個(gè) commit 的 ID 都會(huì)發(fā)生變化。
3,推送遠(yuǎn)程
無論是修改當(dāng)前還是歷史的,在本地做了修改之后,需要 git push -f
強(qiáng)制推送遠(yuǎn)程。
4,精準(zhǔn)定位
如果想修改的 commit message 不是倒數(shù)第3次,而是倒數(shù)十幾次,甚至更前,設(shè)置一個(gè)大的數(shù)字不太友好。
而且我們已經(jīng)知道是哪個(gè) commit 了,所以可直接定位。以下圖為例:
如果想修改的就是 【ee38286 第3次提交】 這個(gè) commit,可以:
git rebase ee38286^ --interactive
此時(shí)打開的編輯頁面,第1個(gè)就是這個(gè) commit。
注意 ee38286^ 這里有個(gè) ^。如果沒有它,那編輯頁面顯示的**第一個(gè)就是 【2992dec 第4次提交】這個(gè) commit **。
后續(xù)操作相同。文章來源:http://www.zghlxwxcb.cn/news/detail-857890.html
以上。文章來源地址http://www.zghlxwxcb.cn/news/detail-857890.html
到了這里,關(guān)于git 修改歷史 commit message的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!