詳解git commit --amend 用法
有時你提交過程式碼之後,發現一個地方改錯了,你下次提交時不想保留上一次的記錄;或者你上一次的commit message的描述有誤,這時候你可以使用接下來的這個命令:git commit --amend。
git功能十分強大,接下來我將講解一下git commit --amend命令的用法~
git log之後,可以看到你之前提交過的git歷史:
接下來,在bash裡輸入wq退出log狀態,執行:
$ git commit --amend
這時bash裡會出現以下內容:
其中,second commit是你上次提交的描述,下面是一下說明資訊,有告訴你上次提交的檔案資訊等等,可忽略。接下來你要是想修改描述資訊的話。直接鍵入:i,此時進入了輸入模式,變成這樣子:
可用鍵盤上下鍵轉到描述所在的那一行,然後進行修改:
修改完成後,按下 Esc鍵退出編輯模式,在鍵入 :wq 回車退出並儲存修改,完成提交。這是你再git log 看一下提交日誌:
已經修改了提交描述資訊,且原來的git版本沒有了~~~喜大普奔!!你完成~~
但是有個地方要注意,就是該操作會改變你原來的commit id哦。
適用場景:
場景1.本地開發程式碼已提交,提交後發現這次提交的程式碼有問題,或者漏提交了一些檔案,此時,希望達到以下目的:
①修改有問題的程式碼。
②補足漏提交的檔案(一般是新增的檔案沒有git add .)
③把以上2點相關的程式碼,和前一次提交的程式碼合併成1個提交。
④給合併後的這個提交新增新的註釋。
解決辦法:
--》修改問題程式碼
--》git add . (把漏提交的檔案假如暫存區)
--》執行git commit --amend -m "這裡填寫提交的註釋"
場景2.新接到需求,需要基於master分支拉取一個feature分支,且這個feature分支只有你自己使用(這一點極其重要),由於開發週期較長,你不想每一次都產生一個新的commit,而是每一次commit都修改前一次提交,這樣做的好處是,等到你的feature分支提測時,就只有1個乾淨的commit,沒有亂七八糟的提交歷史,你只要把這1個commit合併到master裡就好了 。
解決辦法:在feature分支上,
第1次提交程式碼時,使用git commit -am "第1次提交的註釋"
第2次以後提交程式碼時,使用git commit --amend -m "這裡填寫提交的註釋"
這樣,整個分支可以只有1個commit。
到此這篇關於詳解git commit --amend 用法的文章就介紹到這了,更多相關git commit --amend 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!