在一些受管控的項目上,提交代碼到 git 服務器後,還須要通過審覈確認才正式合入版本,通常經常使用 gerrit 來進行審覈確認操做。git
若是提交的代碼審覈不經過,須要再次修改提交。因爲是修改同一個問題,咱們可能不但願生成多個 commit 信息,會顯得改動分散,看起來改動不完善,因此想要在本地已有的 commit 信息上再次提交改動,而不是在已有的 commit 上再新增一個 commit。服務器
使用 git commit --amend
命令能夠達到在現有最新 commit 上再次提交改動的效果。code
在本地提交改動後,咱們再次修改代碼,執行 git add 命令添加改動,若是執行 git commit -m
命令,默認會建立新的空 commit 信息,填寫相應的修改說明,提交以後,會新增一個 commit 信息;而執行 git commit --amend
命令會彈出當前最新 commit 的信息,咱們能夠修改這個信息,也能夠不修改,提交以後,用 git log 命令查看,會看到沒有增長新的 commit,原先 commit 的 hash 值也沒有變,這一次的修改是跟以前的修改一塊兒提交的。ip
查看 man git-commit 對 --amend 選項的關鍵說明以下:hash
--amend
Replace the tip of the current branch by creating a new commit.it
即,--amend
選項建立一個新的 commit 來替換當前最新的 commit,如同當前最新的 commit 信息被修改了同樣。項目