一、修改最后一次提交
方式一:直接輸入命令:git commit --amend
粤攒,會(huì)進(jìn)入對(duì)最后一次提交信息編輯的vim編輯器界面(普通模式下肠骆,按i
進(jìn)入編輯模式,編輯模式下按esc
退出到普通模式煌妈,普通模式下按:
進(jìn)入命令模式,輸入wq
即可保存修改并退出vim編輯器)宣羊。
方式二:如果提交信息簡(jiǎn)單也可以直接通過(guò)如下命令行完成:
git commit --amend -m 'new commit message'
二璧诵、修改前邊某次提交
輸入命令:git rebase -i HEAD~2
,進(jìn)入commit的選擇界面仇冯,其中2代表最后2次提交腮猖,看你需要修改的提交位置對(duì)應(yīng)修改即可,需要注意的是該值必須要小于提交總數(shù)赞枕,否則會(huì)報(bào)錯(cuò)澈缺。
將需要改變的提交的pick改為edit,保存并退出(選中多個(gè)炕婶,則會(huì)將多個(gè)提交合并成一個(gè))姐赡,會(huì)看到如下提示
執(zhí)行命令git commit --amend
進(jìn)入vim編輯器,修改對(duì)應(yīng)提交信息柠掂,過(guò)程和修改最后一次提交一樣
修改成功后项滑,執(zhí)行git log
,查看整個(gè)提價(jià)記錄是否是自己需要的
確認(rèn)無(wú)誤后涯贞,執(zhí)行git rebase --continue
枪狂,會(huì)看到如下提示:
tip:
若是中途修改出錯(cuò),或是不想繼續(xù)修改宋渔,可以執(zhí)行git rebase --abort
終止
到此修改提交記錄過(guò)程就結(jié)束了州疾。
三、提交已經(jīng)推送到遠(yuǎn)程倉(cāng)庫(kù)
如果需要修改的提交信息已經(jīng)被提交到遠(yuǎn)程倉(cāng)庫(kù)皇拣,那么在基于前面修改的基礎(chǔ)上严蓖,還需要強(qiáng)制推送本地倉(cāng)庫(kù)到遠(yuǎn)程分支薄嫡,也就是執(zhí)行如下命令:
git push <repo name> <branch nama> -f
進(jìn)行強(qiáng)制推送
注意:
此操作會(huì)使用本地倉(cāng)庫(kù)強(qiáng)制覆蓋遠(yuǎn)程倉(cāng)庫(kù),慎重