永久連接: https://shudong.wang/10620.htmlhtml
使用 Git 時,可能會遇到須要編輯提交消息的狀況。作出更改的緣由有不少,例如,修正了錯字,刪除了敏感信息或添加了其餘信息。linux
本指南說明了如何更改最新或較舊的 Git 提交的消息。webpack
該 git commit --amend
命令容許您更改最新的提交消息。git
要更改還沒有推送到遠程存儲庫的最新提交的消息,請使用該 --amend
標誌再次提交。web
cd 到終端中的存儲庫目錄。json
運行如下命令以修改最新提交的消息:webpack-dev-server
git commit --amend -m " New commit message. "`</pre></div>
複製代碼
該命令的做用是用新的覆蓋新的提交。 該 -m
選項容許您在不打開編輯器會話的狀況下在命令行上編寫新消息。編輯器
在更改提交消息以前,您還能夠添加之前忘記的其餘更改:spa
`git add .
git commit --amend -m "New commit message."`
被修改的提交是具備不一樣 SHA-1 的新實體。先前的提交將再也不存在於當前分支中。命令行
一般,您應該避免修改已經推送的提交,由於這可能會給基於此提交工做的人們帶來麻煩。在更改推送的提交以前,最好先諮詢您的開發人員。
若是更改了最近推送的提交的消息,則必須強制推送它。
導航到存儲庫。
修改最新的推送提交的消息:
`git commit --amend -m " New commit message. "`
強制推送以更新遠程存儲庫的歷史記錄:
`git push --force branch-name`
若是須要更改較舊或屢次提交的消息,則可使用交互方式 git rebase
來更改一個或多個較早提交。
該 rebase
命令將重寫提交歷史記錄,強烈建議不要對已經推送到遠程 Git 存儲庫的提交進行從新整理。
導航到包含要更改的提交消息的存儲庫。
鍵入 git rebase -i HEAD~N
,其中 N
是執行基礎更改的提交次數。例如,若是要更改第 4 次提交和第 5 次最新提交,請輸入:
`git rebase -i HEAD~5`
`pick 43f8707f9 fix: update dependency json5 to ^ 2.1.1 pick cea1fb88a fix: update dependency verdaccio to ^ 4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^ 3.8.2 pick c5e078656 chore: update dependency flow-bin to ^ 0.109.0 pick 11ce0ab34 fix: Fix spelling.
# Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)`
移至要更改的提交消息的行,並替換 pick
爲 reword
:
`reword 43f8707f9 fix: update dependency json5 to ^ 2.1.1 reword cea1fb88a fix: update dependency verdaccio to ^ 4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^ 3.8.2 pick c5e078656 chore: update dependency flow-bin to ^ 0.109.0 pick 11ce0ab34 fix: Fix spelling.
# Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)`
保存更改並關閉編輯器。
對於每一個選定的提交,將打開一個新的文本編輯器窗口。更改提交消息,保存文件,而後關閉編輯器。
`fix: update dependency json5 to ^ 2.1.1 `
強制將更改推送到遠程存儲庫:
`git push --force branch-name
要更改最新的提交消息,請使用 git commit --amend
命令;使用 git rebase -i HEAD~N
來更改舊的或多條提交消息。
通常不要修改推送的提交,由於它可能會給您的同事帶來不少問題。