有時(shí)你提交過(guò)代碼之后,發(fā)現(xiàn)一個(gè)地方改錯(cuò)了,你下次提交時(shí)不想保留上一次的記錄;或者你上一次的commit message的描述有誤,這時(shí)候你可以使用接下來(lái)的這個(gè)命令:git commit --amend。
git功能十分強(qiáng)大,接下來(lái)我將講解一下git commit --amend命令的用法~
git log之后,可以看到你之前提交過(guò)的git歷史:
接下來(lái),在bash里輸入wq退出log狀態(tài),執(zhí)行:
$ git commit --amend
這時(shí)bash里會(huì)出現(xiàn)以下內(nèi)容:
其中,second commit是你上次提交的描述,下面是一下說(shuō)明信息,有告訴你上次提交的文件信息等等,可忽略。接下來(lái)你要是想修改描述信息的話(huà)。直接鍵入:i,此時(shí)進(jìn)入了輸入模式,變成這樣子:
可用鍵盤(pán)上下鍵轉(zhuǎn)到描述所在的那一行,然后進(jìn)行修改:
修改完成后,按下 Esc鍵退出編輯模式,在鍵入 :wq 回車(chē)退出并保存修改,完成提交。這是你再git log 看一下提交日志:
已經(jīng)修改了提交描述信息,且原來(lái)的git版本沒(méi)有了~~~喜大普奔??!你完成~~
但是有個(gè)地方要注意,就是該操作會(huì)改變你原來(lái)的commit id哦。
適用場(chǎng)景:
場(chǎng)景1.本地開(kāi)發(fā)代碼已提交,提交后發(fā)現(xiàn)這次提交的代碼有問(wèn)題,或者漏提交了一些文件,此時(shí),希望達(dá)到以下目的:
①修改有問(wèn)題的代碼。
②補(bǔ)足漏提交的文件(一般是新增的文件沒(méi)有g(shù)it add .)
③把以上2點(diǎn)相關(guān)的代碼,和前一次提交的代碼合并成1個(gè)提交。
④給合并后的這個(gè)提交添加新的注釋。
解決辦法:
--》修改問(wèn)題代碼
--》git add . (把漏提交的文件假如暫存區(qū))
--》執(zhí)行g(shù)it commit --amend -m "這里填寫(xiě)提交的注釋"
場(chǎng)景2.新接到需求,需要基于master分支拉取一個(gè)feature分支,且這個(gè)feature分支只有你自己使用(這一點(diǎn)極其重要),由于開(kāi)發(fā)周期較長(zhǎng),你不想每一次都產(chǎn)生一個(gè)新的commit,而是每一次commit都修改前一次提交,這樣做的好處是,等到你的feature分支提測(cè)時(shí),就只有1個(gè)干凈的commit,沒(méi)有亂七八糟的提交歷史,你只要把這1個(gè)commit合并到master里就好了 。
解決辦法:在feature分支上,
第1次提交代碼時(shí),使用git commit -am "第1次提交的注釋"
第2次以后提交代碼時(shí),使用git commit --amend -m "這里填寫(xiě)提交的注釋"
這樣,整個(gè)分支可以只有1個(gè)commit。
到此這篇關(guān)于詳解git commit --amend 用法的文章就介紹到這了,更多相關(guān)git commit --amend 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:平頂山 鶴崗 株洲 鎮(zhèn)江 臺(tái)州 哈密 綿陽(yáng) 商丘
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解git commit --amend 用法》,本文關(guān)鍵詞 詳解,git,commit,--amend,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。