git 修改最後一次的commit
前言
你是否會常commit了變更後,發現少寫了什麼或某段程式寫錯了,然後就會修改後,再commit一次,假設你又跟我一樣常犯傻,剛的情況又來一次的話, history就會長得如下3個commit,多了v2,v3 。
解決方法
針對commit了,又後悔想修改的話,針對幾個情境的解決方式。
1. 修改/新增併入最近的commit
如前言所述,最近的commit為“訂單新增API v3”,如圖,我想再將修改內容,併入v3的commit。
使用方式
- 將修改的先加入暫存區 (同Visual Studio 加入到stage)
git add --all
- 簽入加上參數 –amend –no-edit
git commit --amend --no-edit
- -–amend: 將暫存區的加入最近一次的commit
- -–no-eidt: 不需要commit message commit沒有增加,但內容已由v3變成 v3-1
2.修改最近commit的訊息
有時簽入時,才發現訊息寫錯了,想修改該如何做? 本例示範將“訂單新增API v3” 改成“訂單新增API v3 OK”
使用方式
簽入加上參數 --amend -m 參數
git commit --amend -m “訂單新增API v3 OK”
一樣是3個commit,但最後一個訊息已加上“OK”
注意事項
上述的兩種方式,其實都是撒掉前一次的commit,再換一個新的commit,仔細看的話,ID是不一樣的。在本地的commit可以任意使用,但針對已push出去的commit,儘量不要這樣用,以免造成別人在處理衝突的困擾。
總結
以上兩個指令,可以大量減少一些不必要的commit,讓整個歷史記錄更清楚明瞭。
白話文:可以簽了又簽、簽了又簽,還是一個commit。