有時(shí)你提交過代碼之后,發(fā)現(xiàn)一個(gè)地方改錯(cuò)了,你下次提交時(shí)不想保留上一次的記錄;或者你上一次的commit message的描述有誤,這時(shí)候你可以使用接下來的這個(gè)命令:git commit --amend。
git功能十分強(qiáng)大,接下來我將講解一下git commit --amend命令的用法~
git log之后,可以看到你之前提交過的git歷史:
接下來,在bash里輸入wq退出log狀態(tài),執(zhí)行:
這時(shí)bash里會出現(xiàn)以下內(nèi)容:
其中,second commit是你上次提交的描述,下面是一下說明信息,有告訴你上次提交的文件信息等等,可忽略。接下來你要是想修改描述信息的話。直接鍵入:i,此時(shí)進(jìn)入了輸入模式,變成這樣子:
可用鍵盤上下鍵轉(zhuǎn)到描述所在的那一行,然后進(jìn)行修改:
修改完成后,按下 Esc鍵退出編輯模式,在鍵入 :wq 回車退出并保存修改,完成提交。這是你再git log 看一下提交日志:
已經(jīng)修改了提交描述信息,且原來的git版本沒有了~~~喜大普奔??!你完成~~
但是有個(gè)地方要注意,就是該操作會改變你原來的commit id哦。
適用場景:
場景1.本地開發(fā)代碼已提交,提交后發(fā)現(xiàn)這次提交的代碼有問題,或者漏提交了一些文件,此時(shí),希望達(dá)到以下目的:
①修改有問題的代碼。
②補(bǔ)足漏提交的文件(一般是新增的文件沒有g(shù)it add .)
③把以上2點(diǎn)相關(guān)的代碼,和前一次提交的代碼合并成1個(gè)提交。
④給合并后的這個(gè)提交添加新的注釋。
解決辦法:
--》修改問題代碼
--》git add . (把漏提交的文件假如暫存區(qū))
--》執(zhí)行g(shù)it commit --amend -m "這里填寫提交的注釋"
場景2.新接到需求,需要基于master分支拉取一個(gè)feature分支,且這個(gè)feature分支只有你自己使用(這一點(diǎn)極其重要),由于開發(fā)周期較長,你不想每一次都產(chǎn)生一個(gè)新的commit,而是每一次commit都修改前一次提交,這樣做的好處是,等到你的feature分支提測時(shí),就只有1個(gè)干凈的commit,沒有亂七八糟的提交歷史,你只要把這1個(gè)commit合并到master里就好了 。
解決辦法:在feature分支上,
第1次提交代碼時(shí),使用git commit -am "第1次提交的注釋"
第2次以后提交代碼時(shí),使用git commit --amend -m "這里填寫提交的注釋"
這樣,整個(gè)分支可以只有1個(gè)commit。
到此這篇關(guān)于詳解git commit --amend 用法的文章就介紹到這了,更多相關(guān)git commit --amend 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 解決git誤commit大文件導(dǎo)致不能push問題
- 解決使用commit提交大文件無法推送到遠(yuǎn)程庫問題及git rebase使用詳解
- git如何撤銷commit的方法(未push)
- Git回退代碼到某次commit的實(shí)現(xiàn)方法
- git修改已commit的注釋信息實(shí)現(xiàn)
- 淺析git server“丟失”commit問題