git commit --amend

admin發表於2018-07-14

amend翻譯成中文具有修改和改良的意思。

git commit --amend具有修改最後一次commit提交的功能。

一.修改最後一次commit提交資訊:

commit提交資訊是對此次提交的簡略描述,便於團隊開發和後期維護。

如果對最後一次提交資訊不滿意,可以利用git commit --amend對其進行修改。

首先看一下提交歷史:

[Shell] 純文字檢視 複製程式碼
$ git log --oneline

提交歷史截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/14/112212rkwakkv4aqq12k1a.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

最後一次提交有失誤,應該是"c3"而不是"c",修改如下:

[Shell] 純文字檢視 複製程式碼
$ git commit --amend -m "c3"

通過上述程式碼,可以將最後一次提交的描述資訊修改為"c3"。

由於提交資訊改變,那麼此次提交的SHA-1值也會改變。

二.修改最後一次提交的檔案:

實際應用中,當完成一次提交之後,可能會發現此次提交有些檔案需要修改,當然我們可以在下一次提交中修改此檔案,但這無疑會讓提交歷史比較累贅。下面就以新增一個新的檔案為例子做一下介紹。

首先看一下狀態:

a:3:{s:3:\"pic\";s:43:\"portal/201807/14/112305sqynup6ukos6npn3.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

新增ant.txt檔案,當前是未跟蹤狀態,首先將其加入到暫存區:

[Shell] 純文字檢視 複製程式碼
$ git add ant.txt

然後將其進行commit提交即可,程式碼如下:

[Shell] 純文字檢視 複製程式碼
$ git commit --amend --no-edit

這樣就可以在最後一次提交中追加一個新的檔案。

--no-edit表示最後一次提交資訊"c3"沒必要修改,保持原樣即可。

如果需要修改,採用如下命令:

[Shell] 純文字檢視 複製程式碼
$ git commit --amend -m "add new file"

上述程式碼將commit提交的描述資訊修改為"add new file"。

相關文章