有時你提交過代碼之后,發(fā)現(xiàn)一個地方改錯了,你下次提交時不想保留上一次的記錄;或者你上一次的commit message的描述有誤,這時候你可以使用接下來的這個命令:git commit --amend。
git功能十分強大,接下來我將講解一下git commit --amend命令的用法~
git log之后,可以看到你之前提交過的git歷史:
接下來,在bash里輸入wq退出log狀態(tài),執(zhí)行:
這時bash里會出現(xiàn)以下內(nèi)容:
其中,second commit是你上次提交的描述,下面是一下說明信息,有告訴你上次提交的文件信息等等,可忽略。接下來你要是想修改描述信息的話。直接鍵入:i,此時進入了輸入模式,變成這樣子:
可用鍵盤上下鍵轉(zhuǎn)到描述所在的那一行,然后進行修改:
![](/d/20211017/24d3c6d1f15d2a3ec8a558b127d2a4c8.gif)
修改完成后,按下 Esc鍵退出編輯模式,在鍵入 :wq 回車退出并保存修改,完成提交。這是你再git log 看一下提交日志:
![](/d/20211017/e3aff5f3ee435c85589c2049e87d7392.gif)
已經(jīng)修改了提交描述信息,且原來的git版本沒有了~~~喜大普奔?。∧阃瓿蓗~
但是有個地方要注意,就是該操作會改變你原來的commit id哦。
適用場景:
場景1.本地開發(fā)代碼已提交,提交后發(fā)現(xiàn)這次提交的代碼有問題,或者漏提交了一些文件,此時,希望達到以下目的:
①修改有問題的代碼。
②補足漏提交的文件(一般是新增的文件沒有g(shù)it add .)
③把以上2點相關(guān)的代碼,和前一次提交的代碼合并成1個提交。
④給合并后的這個提交添加新的注釋。
解決辦法:
--》修改問題代碼
--》git add . (把漏提交的文件假如暫存區(qū))
--》執(zhí)行g(shù)it commit --amend -m "這里填寫提交的注釋"
場景2.新接到需求,需要基于master分支拉取一個feature分支,且這個feature分支只有你自己使用(這一點極其重要),由于開發(fā)周期較長,你不想每一次都產(chǎn)生一個新的commit,而是每一次commit都修改前一次提交,這樣做的好處是,等到你的feature分支提測時,就只有1個干凈的commit,沒有亂七八糟的提交歷史,你只要把這1個commit合并到master里就好了 。
解決辦法:在feature分支上,
第1次提交代碼時,使用git commit -am "第1次提交的注釋"
第2次以后提交代碼時,使用git commit --amend -m "這里填寫提交的注釋"
這樣,整個分支可以只有1個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的實現(xiàn)方法
- git修改已commit的注釋信息實現(xiàn)
- 淺析git server“丟失”commit問題