? ? ? ?
目錄
修改最近一條Commit
修改過(guò)去若干條 Commit
場(chǎng)景:當(dāng)分批次多次提交時(shí),突然發(fā)現(xiàn)提交的message不符合規(guī)范,想要修改,這時(shí)就可以使用了
修改最近一條Commit
如果只是想修最近一條 Commit, 直接使用命令:
git commit --amend
就可以進(jìn)行修改,命令行會(huì)進(jìn)入vim的界面,讓你修改上一次的提交 Message,改好消息,退出即可。然后強(qiáng)制的push(git push origin 分支名?-f)一下。
修改過(guò)去若干條 Commit
如果要修改過(guò)去若干條 Commit 的 Message,不管改不改最新那一條,都會(huì)稍微有點(diǎn)麻煩。
比如我一個(gè)需求,提交了三個(gè)commit,首先先執(zhí)行g(shù)it log查看commit記錄:
?我想修改第一次提交的message,加上次數(shù)
這時(shí)候我們需要使用如下命令
git rebase -i 9c8b8a837dc2d831983339924a6eba91ba9a77d3
?9c8b8a837dc2d831983339924a6eba91ba9a77d3 為 d79776ccxxx下面的一次log記錄,這里沒(méi)有截出來(lái),文章最后有一個(gè)可以看見(jiàn)的截圖
進(jìn)入了Vim界面:
參數(shù)說(shuō)明:
- pick(p):保留該 commit
- reword(r):保留該 commit,但我需要修改該commit的 Message
- edit(e):保留該 commit, 但我要停下來(lái)修改該提交(包括修改文件)
- squash(s):將該 commit 和前一個(gè) commit 合并 (多條commit合并為一條)
- fixup(f):將該 commit 和前一個(gè) commit 合并,但我不要保留該提交的注釋信息
- exec(x):執(zhí)行 shell 命令
- drop(d):丟棄這個(gè) commit
按照實(shí)際需要去選擇命令,我們這里需要的是 reword,用來(lái)修改 Message。
記住,這里如果需要改多條記錄,將對(duì)應(yīng)的commit id前的pick修改為r即可,這里我只改一條了。
修改完成后(這里無(wú)需修改message),按esc,再輸入:wq 即可保存并退出。
接著就會(huì)來(lái)到d79776c的提交頁(yè)面,編輯message即可
同樣的?按esc,再輸入:wq 即可保存并退出。
如果修改多條,會(huì)依次進(jìn)入各自commit的提交頁(yè)面,依次編輯message即可,最后一次編輯完成后,會(huì)輸出:
Successfully rebased and updated refs/heads/master.
?代表rebase成功了,我們?cè)賮?lái)git log 看下:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-481343.html
?別忘記,要git? push? origin master(你的分支名) -f 哦~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-481343.html
到了這里,關(guān)于Git 如何修改歷史的 Commit message的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!